0

bash/shell *nix コマンド/スクリプトを学習しようとしています。なので、pythonのプログラムを書くより、bash/awkなどでやってみようと思ったのですが、なかなか手こずりました。私は巨大なテキスト(実際にはcsv)ファイルを持っています

 id_1, id_2, some attributes.

このファイルを id2 に基づいて並べ替えたいですか? どうすればいいですか?ありがとう

4

4 に答える 4

4

--keyのオプションを使用しますsort

たとえば、次の例ではinput.csv、2番目のフィールドを(フィールド区切り文字としてコンマを使用して)ソートし、出力をに書き込みますoutput.csv

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

-nps数値ソートを行う場合は、このオプションを使用することを忘れないでください。

詳細については、sortのマニュアルページを参照してください。

于 2012-09-10T14:20:15.057 に答える
2
sort -t, -k2 filename.csv

確認するシェルはありませんが、基本的にはセパレータとソートキーを指定する必要があります

于 2012-09-10T14:24:21.017 に答える
2

sort(1)の-kオプションを使用できます

-k、-key = POS1 [、POS2]

         start a key at POS1, end it at POS2 (origin 1)
于 2012-09-10T14:19:58.213 に答える
1

コマンドカットをチェックアウトします。

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

csvはセミコロンで区切られていると思いますが、変更できます。

別の名前で保存します。

cat file.cvs | cut -d";" -f 2 | sort > newfile.txt
于 2012-09-10T14:18:51.863 に答える