-1
正是我想要实现的比标题建议更复杂,但我想保持它合理的短。我试图做以下事情; (我对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.
我已经试过刚开$文件的WC -c但说厕所需要的目录作为标准输入
和;
line 12 ""/2: syntax error: operand expected (error token is """/2")
大概是因为文件大小没有被赋予正确的值吗?
我也不确定使用dd复制文件,一半大小是最好的方法,但我无法找到任何其他人。
复制的图像文件的一半的字节可能不会产生有效的图像。 – chepner
是的,当我第一次阅读任务时,我在想。我不确定我是否想要复制它的一半或压缩它是诚实的。后者可能吗? – Chaz
如果他的字面意思是“将300x300图像转换为150x150图像”,那么您需要使用能够理解文件格式的程序。 – chepner