这是一个初学者的问题:我正在尝试编写.sh文件来自动重命名目录中的文件。
该文件看起来像
for fileName in directory
do
mv fileName "NewPrefix"+fileName
done
我正在尝试弄清楚如何编写该for fileName in directory
部分。
我尝试了以下方法:
dir = '.'
for fileName in dir
这是可行的,但是每当我运行此脚本时,我都会 dir: cannot access =: No such file or directory.
为什么?
您的代码有几个问题:
$VAR
,请注意$
前面的内容。如果省略美元符号,则将其视为常规字符串。*
,?
等)。您的示例.
将与文件夹匹配,该文件夹.
是当前文件夹。VAR=VALUE
。等号周围没有空格。VALUE
如果有空格,必须用引号引起来。+
符号+
在该位置插入文字。考虑到这些要点,这是脚本的有效版本。
cd /path/to/folder
for file in ./*
do
mv "$file" "NewPrefix$file"
done
如果像这样使用条件:
if [[ "$file" == "New"* ]]
then
# Do something here
fi
请注意,星号在双引号之外。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句