源文件夹中有一组程序,但只有最新版本必须复制到目标 USB 驱动器。
从Bash Script - Copy the latest version of a directory in a directory recursively,它表明我的公式是:
f=$(find . -name AdbeRdr\*.exe | sort -n | tail -1)
那么如何在一组掩码上的 for 循环中进行 find 工作呢?
set1="AdbeRdr\*.exe jre-\*.exe LibreOffice\*.msi"
for m in $set1
do
echo "m: $m"
f=$(find . -name $m | sort -n | tail -1)
echo "f: $f"
cp $f /media/USB
done
$m
输出正确的值(AdbeRdr*.exe 等),$f
为空并cp
复制整个父目录。如果我在没有变量 ( ) 的情况下明确指定掩码find . -name AdbeRdr\*.exe | sort -n | tail -1
,则正确输出最后一个文件。
我哪里错了?如果文件名中出现空格,我该如何处理?
谢谢!