1
我有一个文件,它的分隔符是“|||”。如何使用linux shell排序使用多字符分隔符对文件进行排序?
abc|||123|||999|||5|||Just for you | Jim|||20
cef|||7|||210|||6|||Go away | R&B|||30
mmm|||89|||320|||16|||Traveling Light|George Winston|||21
定界符“|||”不能用“|”代替或“||”,因为数据本身可能包含“|”或“||”。
有人能告诉我如何使用分隔符“|||”对第2列进行排序吗? ?
以下方法失败:
sort -t$'|||' -nrk2 a.txt > b.txt
sort: multi-character tab `|||'
谢谢!
你可以交换柱,然后用'排序-n'整个文件没有指定一个分隔符 – m13r
@ M13R你的方法不起作用。上面的a.txt只是一个简单的例子。真正的文件包含许多数字列,我必须对至少2个数字列进行排序,就像sort -t $'|||' -nrk2 -k3,rn -k4,rn a.txt> b.txt –
当你说失败时会发生什么? 'sort'运行失败,还是只会产生不正确的输出?如果运行失败,你会得到什么错误信息?如果输出不正确,你会得到什么输出?显示你得到的输出的例子,以及你的期望。 –