最近のファイルのマージ

最近のファイルのマージ

特定のディレクトリのbashから最新のファイルから最も古いファイルまでマージするコマンドを取得したいと思います。これは、最新の日付のファイルが前の日付のファイルの前に保存されることを意味します。

ベストアンサー1

zshシェルでは、ワイルドカードパターンとワイルドカード修飾子は修正タイム*(.om)スタンプに従ってソートされ、現在のディレクトリにある一般ファイルのすべての名前に展開されます。最後に変更されたファイルは結果リストの最初のエントリです。ディレクトリに通常のファイルがない場合、このモードはシェルでエラーを生成します。

zshしたがって、シェルでは

cat ./*(.om) >Save.txt

または、何千ものファイルにループを使用します。

for name ( ./*(.om) ) cat $name >Save.txt

以下でこのコマンドを呼び出しますbash

zsh -c 'for name ( ./*(.om) ) cat $name >Save.txt'

次の組み込みバリアントzargsinを使用することもできます。zshxargs

autoload -U zargs
zargs -- ./*(.om) -- cat -- >Save.txt

からbash

zsh -c 'autoload -U zargs; zargs -- ./*(.om) -- cat -- >Save.txt'

おすすめ記事