1
源文件夾中有一組程序,但只有最新版本必須複製到目標USB驅動器。bash:從掩碼列表中複製文件的最後一個版本
從Bash Script - Copy latest version of a file in a directory recursively,它表明我的公式是:
f=$(find . -name AdbeRdr\*.exe | sort -n | tail -1)
那麼如何讓找到工作的內部for循環一組面具的?
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
),則最後一個文件被正確輸出。
我哪裏錯了?如果這些會出現在文件名中,我該如何處理空格?
謝謝!
謝謝,它完美的作品! – user2090692 2013-02-20 12:16:57