私のホームディレクトリ(その中のすべてのサブディレクトリを含む)で最初の100個の.jpgファイルのみを見つけてコピーするにはどうすればよいですか?

私のホームディレクトリ(その中のすべてのサブディレクトリを含む)で最初の100個の.jpgファイルのみを見つけてコピーするにはどうすればよいですか?

私は次のようにコーディングしました。

$ find . -maxdepth 1 -name '*.jpg' | head -n 100 | xargs -0 {} cp {} /home/rachael/backup

エラーは次のとおりです。

xargs: {}: No such file or directory

私のコードには何の問題があり、どのように修正しますか?

ベストアンサー1

Steeldriverがコマンドでいくつかの問題を特定しました。しかし、シェルを使用してより短い解決策を追加したかったのですzsh(質問は1つのシェルに限定されないため)。

cp -- *.jpg(.[1,100]) ~rachel/backup

現在のディレクトリから、ワイルドカードパターンに一致する最初の100個の一般ファイル(事前順)をコピーします*.jpg

修正タイムスタンプに基づいて最も古い100個のファイルの場合は、最新の修正済み100個のファイルをインポートするには、代わりに*.jpg(.Om[1,100])小文字を使用して使用してください。ファイル名の数値の順序を取得する代わりにinを使用し、隠された名前と一致するように追加します。oOnOmD

おすすめ記事