0
for i in `find . -type f -name "VF-Outlet*.edi" -exec basename \{} \;` ; do
if [ -n "${i}" ];
then
echo file "VF-Outlet found";
sed -e 's/\*UK\*00/\*UP\*/g;s/XQ.*$/XQ\*H\*20150104\*20150110/g' $i > ${i}_fix
else
echo file "VF-Outlet" not found;
fi
done
上述代碼在找到文件時起作用。 'echo'語句打印找到的文件。 但是,如果找不到文件,則無法打印。我嘗試了所有的空字符串測試,並取消設置變量,沒有任何工作。 另外,如果我嘗試:在cygwin bash腳本中查找語句
i=`find . -type f -name "VF-Outlet*.edi" -exec basename \{} \;`;
然後做了測試:
if [ -n "${i}" ];
then
echo file ${i} found;
else
echo file "VF-Outlet" not found;
fi
done
如果文件被發現或者不能夠正常工作。
需要幫助解決這個問題。我需要for循環來測試多個文件。
不是我會這樣做的方式,而是要對您的直接問題發表評論,而不是使用'-n「$ {i}」',嘗試使用'-f $ {i}「'祝好運。 – shellter 2015-01-10 04:20:00