我真的很不喜欢bash而且我正在尝试编写一个脚本来遍历目录中的所有图片并将它们分别复制到另一个目录。我对语法并不熟悉,所以我无法弄清楚我做错了什么。
func ()
{
FILES=$1
FILES+=/*.jpg
for f in $FILES
do
echo "$f"
cp "$f" $2
done;
}
func $1 $2
如果我输入像这样的参数
script ./images ./test
它像每个图像一样回应
/images/image1.jpg
/images/image2.jpg
等等,但实际上并没有将它们复制到测试目录中。关于问题可能是什么想法?
答案 0 :(得分:2)
我正在尝试编写一个脚本来遍历所有图片 目录并将它们分别复制到不同的目录
您可以像这样使用find
命令
find path_to_your_directory -type f -name *.jpg -exec cp {} where_to_copy \;
正如@shelter所提到的,您可以使用cp *.jpg /path/to/destination_dir/
,但在这种情况下,您必须编写一些额外的代码来处理带有file with spaces.jpg
空格的文件。
但是find
会自动处理它。