我是bash脚本的新手,我需要编写一段代码来查找目录COND_*
中不以/home/abc/
开头的文件。
并使用COND_*
重命名文件。
我已经有了重命名部分:
rename 's/(\d{4}_\d+\.xml)/COND_$1/' /home/abc/*.xml.
有人可以帮我吗?
答案 0 :(得分:2)
完全便携
for file in *; do
case $file in
COND_*) ;; # bypass
*) mv "./$file" "COND_$file";;
esac
done
答案 1 :(得分:0)
其他解决方案:
for file in *; do
[[ $file =~ ^COND_ ]] || mv "./$file" "COND_$file"
done
首先检查文件是否以COND_
开头。否则(通过OR操作||
),然后重命名文件。 ./"
中的前导./$file"
避免与以减号开头的文件发生冲突。