数値ソートはファイルを正しくソートしません。

数値ソートはファイルを正しくソートしません。

file1.txt を数値でソートするには、sort コマンドを使用します。

~]# sort -n -o file1.txt file1.txt
0 Barack
50 George
60 Ronald
100 Bill

sort check コマンドは、ファイルがソートされていないことを示します。

~]# sort -c file1.txt
sort: file1.txt:4: disorder: 100 Bill

ファイルを手動で修正して「100 Bill」秒を入れました。

~]# cat file1.txt
0 Barack
100 Bill
50 George
60 Ronald

sort checkコマンドはstdoutまたはstderrを生成しません。これは、ファイルが正しくソートされたことを意味します。正しいソートにより、ファイルを結合できるようになりました。完全な整数ではなく、ファイルがソートされていることを確認するために最初の文字を使用するようです。

sort -c file1.txt

「100 Bill」が2行目になるようにファイルを並べ替える方法はありますか?この問題を実際に適用するには、日常業務で扱う数百行のテキストが必要なため、この操作を手動で実行することはできません。

答え1

ファイルを使用したい場合join、ソートされていることを確認する必要がありますアルファベット順結合キーでは、これは次のように-n使用しないでください。sort。いつでもjoin結果を数値順に並べ替えることができます。

を実行するときに、ファイルのソートsort -cに使用したのと同じソートパラメーターを指定する必要があります。したがって、ファイルが数値でソートされていることを確認するには、を実行しますsort -c -n

したがって、あなたの場合は、アルファベットsort -o file1.txt file1.txt順にファイルをソートして使用しますjoin(最初のフィールドを結合フィールドとして使用)。

関連情報