リストに表示される順序とは逆の順序でディレクトリ内のファイルのリストをリンクしたいと思います。
tac
これはtac
、ファイルを逆順にリンクすることとは異なります。
デフォルトでは3つのファイルがあるフォルダがありますfile1
。file2
file3
cat f* > newfile
これらのファイルは次のようにマージされます。
file1
file2
file3
しかし、このようにファイルをマージしたいです。
file3
file2
file1
正しい行の順序を維持しながら、これはすべて可能です。
答え1
tac
これはtac
、ファイルを逆順にリンクするのとは異なります
...逆方向ファイルの順序は必要ありません。驚くべきことに、これはいいねこれは、tac
出力全体に対して追加の操作を実行すると、目的の結果が得られるためです。
tac f* | tac
答え2
「補助拡張」を試してください(参照man bash
):
set -vx
cat file{3..1}
+ cat file3 file2 file1
答え3
ls
並べ替えてから接続するように要求できますcat
。
ls -1r | xargs -d'\n' cat
別のソート順序を使用したり、アイテムを混在させたい場合は、パイプラインの左側の部分を変更できます。
この場合、-1
各行には1つのファイル名が表示され、-r
順序は実際には逆になります(指定されていないため、ロケールに応じてアルファベット順です)。