0

CSVなどのLinux(GNU)でテキストファイルを並べ替える方法はありますか(並べ替え| uniq)、行ごとではなく文字列の位置によって並べ替えます。例:

John Doe|Something|c4ca4238a0b923820dcc509a6f75849b|Blah Blah
John Smith|Nothing|c81e728d9d4c2f636f067f89cc14862c|Blah Blah
Johanna Doe|Another thing|c4ca4238a0b923820dcc509a6f75849b|Blah Blah
J Doe|Does not matter|eccbc87e4b5ce2fe28308fd9f2a7baf3|Blah Blah

sed、awk、cutなどの一般的なGNUツールを使用してこの出力を取得する方法はありますか:

John Doe|Something|c4ca4238a0b923820dcc509a6f75849b|Blah Blah
John Smith|Nothing|c81e728d9d4c2f636f067f89cc14862c|Blah Blah
J Doe|Does not matter|eccbc87e4b5ce2fe28308fd9f2a7baf3|Blah Blah

md5 ハッシュ (この場合) は、他のデータではなく一意である必要があります。

ありがとう!

4

1 に答える 1

3
sort -u -t\| -k3,3 input-file.txt

引数の説明:

  • -u: ユニークな記録
  • -t\|:フィールド区切り文字をに設定します(バックスラッシュはシェルによってパイプとして処理されないよう|にエスケープするために使用されます)|
  • -k3,3: 3 列目 (および 3 列目のみ) をソート キーとして使用します。
于 2013-07-02T13:31:03.347 に答える