我有一个足够简单的问题,但还没有通过论坛或 bash 获得指导。问题如下:
我想为目录中与 *.h 或 *.cpp 匹配的每个文件名添加前缀字符串。但是,如果前缀已应用于文件名,请勿再次应用。
为什么以下不起作用尚未弄清楚:
for i in *.{h,cpp}
do
if [[ $i!="$pattern*" ]]
then mv $i $pattern$i
fi
done
最佳答案
你可以试试这个:
for i in *.{h,cpp}
do
if ! ( echo $i | grep -q "^$pattern" )
# if the file does not begin with $pattern rename it.
then mv $i $pattern$i
fi
done
关于bash 文件名开始匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3746794/