次のようにタブ区切りのファイルがあります。
123 some text
123 some different text
334 some other text
341 more text
私は2つのことをしたいと思います。 1つはすべてを数字で並べ替えることです(簡単に実行できます)、もう1つは数字がすでに存在する場合は行を削除することです。つまり、出力は次のようになります。
123 some text
334 some other text
341 more text
一意の数だけを含むファイルを取得しようとしています。
123
334
341
元のファイルに関連付けます。
join -j 1 justNumbers.txt original.txt
しかし、これは私に元のファイルを提供します。どんなアイデアがありますか?
答え1
一意性をソート/テストしたい場合最初特に、お使いのシステムにはGNUcoreutils
バージョンがあるので、sort
次のものを使用できると思います。
sort -nu file
今すぐ。
$ sort -nu file
123 some text
334 some other text
341 more text
~からinfo coreutils 'sort invocation'
コマンド
sort -u
とsort | uniq
同じですが、この同等性は任意のsort
オプションには拡張されません。 たとえば、sort -n -u
一意性を確認するときは、最初の数値文字列の値のみを確認します。、sort -n | uniq
全体の生産ラインを調べながら。
答え2
この試みawk
:
awk '!($1 in a){a[$1];print}' file
123 some text
334 some other text
341 more text
これは、ファイルがソートされていると仮定します。