如何使用sort
命令对!!
分隔记录进行排序?多字符分隔排序
用于File1中
1!!2!!3
2!3!!3!!1
3!!2!!2
预期输出
2!3!!3!!1
3!!2!!2
1!!2!!3
然后
sort -t \!\! -k 3 file1
结果:
sort: multi-character tab ‘!!’
为什么它不工作?
如何使用sort
命令对!!
分隔记录进行排序?多字符分隔排序
用于File1中
1!!2!!3
2!3!!3!!1
3!!2!!2
预期输出
2!3!!3!!1
3!!2!!2
1!!2!!3
然后
sort -t \!\! -k 3 file1
结果:
sort: multi-character tab ‘!!’
为什么它不工作?
多字符分隔符不sort -t
允许的,但你可以使用:
sort -t '!' -k1 file
1!!b!!c
2!!f!!w
4!!e!!e
编辑:如果!
可以在数据本身在那里,你可以使用这一招:
sed 's/!!/\x06/g' file | sort -t $'\x06' -k1 | sed 's/\x06/!!/g'
1!!b!!c
2!!f!!w
4!!e!!e
EDIT2:对于单个命令使用awk
这样做:
awk -F '!!' -v k=1 '{a[$k,$0]=$0}
END{asort(a, b, "@ind_num_asc"); for (i in b) print b[i]}' file
它正在做什么?给出错误?发布实际输出。 –
更新......... – bongboy