刚刚从bash开始,我遇到了一个微不足道的问题。
我有一个包含多个zip文件的目录,如:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\ISAPI
我想创建一个bash脚本来删除zip名称中的XXX-:
102-123.zip
54-458.zip
1566-akka.zip
我从
开始123.zip
458.zip
akka.zip
我尝试从正则表达式开始,但我正在为此做一些非常复杂的事情。
你对我能做什么有什么想法吗?
答案 0 :(得分:0)
使用rename
即可:
rename 's/^[^-]+-//' *.zip
如果rename
实用程序不可用,请使用:
for f in *.zip; do
mv "$f" "${f#*-}"
done
答案 1 :(得分:0)
如果要在子目录中递归重命名,请使用find
:
find . -type f -name '*.zip' -print0 | xargs -L 1 -0 bash -c 'mv "$1" "${1#*-}"' \;