簡體   English   中英

通過shell,awk,bash排序?

[英]Sorting through shell, awk, bash?

我正在嘗試學習bash / shell * nix命令/腳本。 因此,除了編寫python程序外,我還想使用bash / awk等進行嘗試,但遇到了麻煩。 我有一個很大的文本(實際上是csv)文件

 id_1, id_2, some attributes.

我想根據id2對該文件排序? 我該怎么做呢? 謝謝

使用--key選項進行sort

例如,以下input.csv在第二個字段上對input.csv進行排序(使用逗號作為字段分隔符),並將輸出寫入output.csv

 sort --key=2,2 -t',' input.csv > output.csv

ps如果要進行數字排序,請不要忘記使用-n選項。

有關更多信息,請參見手冊頁進行排序

您可以使用sort(1)的 -k選項

-k,--key = POS1 [,POS2]

  start a key at POS1, end it at POS2 (origin 1) 
sort -t, -k2 filename.csv

我沒有要驗證的外殼,但是基本上您需要指定分隔符和排序鍵

簽出命令剪切:

cat file.cvs | cut -d";" -f 2 | sort

我假設您的csv是用分號分隔的,但是您可以更改它。

保存為其他名稱:

cat file.cvs | cut -d";" -f 2 | sort > newfile.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM