ディレクトリツリーのすべてのHTMLファイルを単一のディレクトリにコピーする方法

ディレクトリツリーのすべてのHTMLファイルを単一のディレクトリにコピーする方法

.htmlすべてのファイルmyDirとそのサブディレクトリをにコピーしたいと思います~/otherDir。試してみましたが、うまくいきません。

$ find myDir -name *.html -print | xargs -0 cp ~/otherDir
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory

ベストアンサー1

まず、シェルは「*」と一致します。エスケープ\または引用符を使用してください。*.html

このように:

find myDir -name "*.html"またはfind myDir -name \*.html

xargswithスイッチfindを使用してスキップします-exec

find myDir -name "*.html" -exec cp {} ~/otherDir \;

{}これは、見つかったファイルを置き換え、一致するfind項目ごとに1回実行するために機能します。

これにより、ソースディレクトリのコピーが平坦化されます。例:

myDir/a.html
myDir/b/c.html

生産する

otherdir/a.html
otherdir/c.html

おすすめ記事