.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
xargs
withスイッチfind
を使用してスキップします-exec
。
find myDir -name "*.html" -exec cp {} ~/otherDir \;
{}
これは、見つかったファイルを置き換え、一致するfind
項目ごとに1回実行するために機能します。
これにより、ソースディレクトリのコピーが平坦化されます。例:
myDir/a.html
myDir/b/c.html
生産する
otherdir/a.html
otherdir/c.html