Sort

用雙欄位編號替換單欄位編號 (1->01)

  • February 18, 2021

我有以下文件,以

male 9
male 11
male 9
male 1
female 4
female 13
male 14

如果我使用

sort -u -k1,1 -k2,2n

這返回

female 13
female 4
male 1
male 11
male 14
male 9
male 9

如何使個位數顯示為 01、02 等,以便它們正確排序?

更新:

告訴我將其-u移到後面的評論者是正確的。

sort -k1,1 -k2,2n -u

工作完美,謝謝!

您尚未在任何地方定義“正確排序”,因此我將假設您希望按第一列分組並按第二列的升序數值排序,並刪除重複值。這個解決方案不是您實際要求的,但它似乎是您想要的。

sort -k1,1 -k2,2n -u datafile
female 4
female 13
male 1
male 9
male 11
male 14

如果你真的希望第二列填充有兩位數,你可以使用這個

xargs printf "%s %02d\n" <datafile
male 09
male 11
male 09
male 01
female 04
female 13
male 14

引用自:https://unix.stackexchange.com/questions/545761