Unix基于分号排序行

时间:2015-05-28 10:07:17

标签: linux sorting unix

我尝试对以下文件进行排序:

$ cat testfile
ZBOX-BATCH-SAMEDI;CMC10
ZBOX-BATCH-SAMEDI_D1;HEB05
ZBOX-BATCH-SAMEDI;BMD15
ZBOX-BATCH-SAMEDI_D3;HEB03
ZBOX-BATCH-SAMEDI_D3_M1;ODP47
ZBOX-BATCH-SAMEDI_D1_M1;TER23
ZBOX-BATCH-SAMEDI_D3;HEB02
ZBOX-BATCH-SAMEDI_D1;HEB02
ZBOX-BATCH-SAMEDI;DEA11
ZBOX-BATCH-SAMEDI;DEA11A

我得到了:

$ sort testfile
ZBOX-BATCH-SAMEDI;BMD15
ZBOX-BATCH-SAMEDI;CMC10
ZBOX-BATCH-SAMEDI_D1;HEB02
ZBOX-BATCH-SAMEDI_D1;HEB05
ZBOX-BATCH-SAMEDI_D1_M1;TER23
ZBOX-BATCH-SAMEDI_D3;HEB02
ZBOX-BATCH-SAMEDI_D3;HEB03
ZBOX-BATCH-SAMEDI_D3_M1;ODP47
ZBOX-BATCH-SAMEDI;DEA11
ZBOX-BATCH-SAMEDI;DEA11A

但是,我在期待:

ZBOX-BATCH-SAMEDI;BMD15
ZBOX-BATCH-SAMEDI;CMC10
ZBOX-BATCH-SAMEDI;DEA11
ZBOX-BATCH-SAMEDI;DEA11A
...

也就是说,我希望在第一个分号之前的所有行都带有字符串ZBOX-BATCH-SAMEDI,然后是ZBOX-BATCH-SAMEDI_D1等的那些行。

我看了man sort,我尝试了-g-k-t等不同选项,但我没有管理。我该怎么办?

1 个答案:

答案 0 :(得分:2)

告诉check[i].onclick = function() { frm.style.display = (this.checked) ? "block" : "none"; }; 分隔符为sort,并且您希望根据第二列进行排序:

;

它返回:

sort -t";" -k2 file