所以基本上,我想编写一个脚本,能够从文件名中删除字符,直到它出现一个字母。防爆。如果我要在包含文件的文件夹中运行它:
13. abc
0 2 d ef
1.ghi3
它会将文件重命名为
abc
d ef
ghi3
由于
答案 0 :(得分:2)
尝试以下方法:
for f in *; do
echo mv "$f" "$(sed 's/^[^[:alpha:]]*//' <<<"$f")"
done
为安全起见,mv
命令的前缀为echo
;删除echo
以执行实际重命名。
以上是 POSIX兼容实施。
请注意 rename
不是POSIX实用程序,因此您可以:
关于rename
的热门平台概述:
rename
实用程序:
s///
基于正则表达式执行替换。
-n
util-linux
包 :
rename
实用程序。
brew install rename
),其功能是基于Debian的平台上基于Perl的实现的超集。答案 1 :(得分:1)
您可以使用重命名命令。
rename 's/^[^a-z]+//' *