将文件从一个目录复制到另一个目录

时间:2017-03-03 12:28:53

标签: bash dd

我正在努力实现的目标比标题所暗示的要复杂得多,但我想让它保持相当短暂。我试图做以下事情; (我对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来复制文件,一半的大小是最好的方法,但我找不到任何其他文件。

1 个答案:

答案 0 :(得分:1)

您可以使用安装在大多数Linux发行版上的 ImageMagick 套件中的单个命令来执行此操作:

cd "$1" && mogrify -path "$2" -resize 50% *.jpg