ファイルを逆順にリンクする方法

ファイルを逆順にリンクする方法

リストに表示される順序とは逆の順序でディレクトリ内のファイルのリストをリンクしたいと思います。

tacこれはtac、ファイルを逆順にリンクすることとは異なります。

デフォルトでは3つのファイルがあるフォルダがありますfile1file2file3

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順序は実際には逆になります(指定されていないため、ロケールに応じてアルファベット順です)。

関連情報