我正在努力实现的目标比标题所暗示的要复杂得多,但我想让它保持相当短暂。我试图做以下事情; (我对bash还很新)
“获取名称作为参数的图像目录,例如目录XXX,并生成另一个目录,其名称作为另一个参数给出,其中包含这些图像的副本,但大小只有一半(线性尺寸)。“
我尝试使用以下脚本执行此操作。
#!/bin/bash
if [ "$1" != "" ]; then
orgdir$1
fi
if [ "$2" != "" ]; then
cpydir=$2
fi
find "${orgdir}" | while read -r file
do
filesize=$(wc -c <"$orgdir$file")
dd if=$orgdir of=$cpydir bs=$(($filesize/2))
done
在终端中将其作为./script.sh ./Test ./TestMove运行,我收到以下错误。
line 11 ./Test./Test: No such file or directory.
我尝试过获取$ file的wc -c,但是说wc将目录作为标准输入
和
line 12 ""/2: syntax error: operand expected (error token is """/2")
大概是因为文件大小没有给出正确的值?
我也不确定使用dd来复制文件,一半的大小是最好的方法,但我找不到任何其他文件。
答案 0 :(得分:1)
您可以使用安装在大多数Linux发行版上的 ImageMagick 套件中的单个命令来执行此操作:
cd "$1" && mogrify -path "$2" -resize 50% *.jpg