我有一个包含许多子文件夹的顶级文件夹。其名为“一”。里面有很多.png
文件。.jpg
我想递归地将“a”复制到新文件夹“b”中,但只复制.png
和.jpg
文件。我该如何实现这一目标?
答案1
find a \( -name "*.png" -or -name "*.jpg" \) -exec cp {} b \;
答案2
单线
cp $(find a -name "*.jpg" -o -name "*.png") b
答案3
for file in $(find a -name "*.jpg" -o -name "*.png")
do
cp ${file} b/${file}
done
答案4
您可以将 bash globstar 与以下命令一起使用cp --parents
:
shopt -s globstar
mkdir -p dest
cp --reflink=auto --parents **/*.jpg **/*.png dest/