l**********g 发帖数: 503 | 1 我想按照:p后面的值来sort数据,我现在用下面指令,
sort -t'>' -k 2,2n
只能做字符顺序sort,如何能让第2行出现在第3行呢?谢谢!
{:rc=>0, :p=>4, :l=>1, :st=>"FLORIDA"}
{:rc=>0, :p=>39, :l=>1, :st=>"MICHIGAN"}
{:rc=>0, :p=>5, :l=>1, :st=>"MISSOURI"} | z****s 发帖数: 192 | 2 Try:
sort -t '>' -k3,3n your_txt_file | l**********g 发帖数: 503 | 3 多谢!为什么是'-k3,3'呢?
我试了一下这个也工作:
sort -t',' -k2.6n
:)
【在 z****s 的大作中提到】 : Try: : sort -t '>' -k3,3n your_txt_file
| z****s 发帖数: 192 | 4
抱歉理解错意思了。
这里麻烦的是逗号和数字粘在一起了,所以正确的应该是
sed 's/,/t/2;s/>/tt/2' |sort -k3,3n|sed 's/tt/>/;s/t/,/' your_txt_file
如果你的原文件有制表符(tab t),可以把上面的命令换为其他的字符。
"sort -t',' -k2.6n"只就第二个field的第六个character,就是“空,9,空”,排
序。只是对本题有效。
【在 l**********g 的大作中提到】 : 多谢!为什么是'-k3,3'呢? : 我试了一下这个也工作: : sort -t',' -k2.6n : :)
| z****s 发帖数: 192 | 5
靠,backslash不显示,再试一试:
sed 's/,/\t/2;s/>/\t\t/2' |sort -k3,3n| \
sed 's/\t\t/>/;s/\t/,/' your_txt_file
【在 z****s 的大作中提到】 : : 抱歉理解错意思了。 : 这里麻烦的是逗号和数字粘在一起了,所以正确的应该是 : sed 's/,/t/2;s/>/tt/2' |sort -k3,3n|sed 's/tt/>/;s/t/,/' your_txt_file : 如果你的原文件有制表符(tab t),可以把上面的命令换为其他的字符。 : "sort -t',' -k2.6n"只就第二个field的第六个character,就是“空,9,空”,排 : 序。只是对本题有效。
| l**********g 发帖数: 503 | 6 您没错,前面sort -k3,3n给出的结果,正是我想要的。后来我也想通了,用'>'确实该
用列3,而不是列2,如用',',就是列2。你给的sed方法,反而不工作。
多谢您一再解疑。
【在 z****s 的大作中提到】 : : 靠,backslash不显示,再试一试: : sed 's/,/\t/2;s/>/\t\t/2' |sort -k3,3n| \ : sed 's/\t\t/>/;s/\t/,/' your_txt_file
| z****s 发帖数: 192 | 7 我最后回复的code应该是work的。
【在 l**********g 的大作中提到】 : 您没错,前面sort -k3,3n给出的结果,正是我想要的。后来我也想通了,用'>'确实该 : 用列3,而不是列2,如用',',就是列2。你给的sed方法,反而不工作。 : 多谢您一再解疑。
|
|