Default.pngという名前のファイルを除いて、ディレクトリからすべてのファイルをコピーしたいと思います。これを行うには多くの方法があるようです。あなたにとって最も効果的なものは何ですか?
単純な場合、src/
にはファイルのみが含まれます。
find src/ ! -name Default.png -exec cp -t dest/ {} +
src/
にはサブディレクトリがあり、これはそれらを省略しますが、その中のファイルをコピーします:
find src/ -type f ! -name Default.png -exec cp -t dest/ {} +
src/
にはサブディレクトリがあり、これは再帰しません。
find src/ -type f -maxdepth 1 ! -name Default.png -exec cp -t dest/ {} +
次のようになります。
cp -r !(Default.png) /dest
現在のフォルダーにネストされているフォルダーにコピーする場合(以下の例では例と呼ばれます)、そのディレクトリも省略する必要があります。
cp -r !(Default.png|example) /example
rsyncは長い間、私のcp/scpの代替品です。
rsync -av from/ to/ --exclude=Default.png
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-v, --verbose increase verbosity
私はただやる:
cp srcdir/* destdir/ ; rm destdir/Default.png
ファイルが大きい場合を除きます。それ以外の場合は、例えば.
find srcdir -type f/ |grep -v Default.png$ |xargs -ILIST cp LIST destdir/
cp `ls | grep -v Default.png` destdir