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'運行失敗,還是隻會產生不正確的輸出?如果運行失敗,你會得到什麼錯誤信息?如果輸出不正確,你會得到什麼輸出?顯示你得到的輸出的例子,以及你的期望。 –