特定のディレクトリの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'
次の組み込みバリアントzargs
inを使用することもできます。zsh
xargs
autoload -U zargs
zargs -- ./*(.om) -- cat -- >Save.txt
からbash
、
zsh -c 'autoload -U zargs; zargs -- ./*(.om) -- cat -- >Save.txt'