
アルファベット順にソートされたファイルがあります。簡単: cat {some file} sort > {newfile}
ただし、ファイルの3番目の列に基づいてアルファベット順にソートする必要があり、各文字は独自のファイルに保存されます。
したがって:a.txt、b.txt、c.txtなど...
これをスクリプトで書く方法はありますか?
答え1
sort file | awk '{print > substr($0, 3, 1) ".txt"}'
名前が行の3番目の文字で、その後に続くファイルに各行を印刷します.txt
。
答え2
@StephaneChazelas 投稿を展開
sort -k1.3 | awk '{print > substr($0, 3, 1) ".txt"}'
行は実際には右から3番目の文字からソートされます。つまり、sort
前の操作を実行するときは、各行の最初の2文字を無視しますawk
。