我有一个名为三个文件
file1.txt
file2.txt
file3.txt
我想他们重命名为
mynewfile-1.txt
mynewfile-2.txt
mynewfile-3.txt
我如何去这个使用正则表达式?
我有一个名为三个文件
file1.txt
file2.txt
file3.txt
我想他们重命名为
mynewfile-1.txt
mynewfile-2.txt
mynewfile-3.txt
我如何去这个使用正则表达式?
尝试这个 :
rename -n 's/^file/mynewfile-/' *.txt
或意见:
rename -n 's/^file(\d+)/mynewfile-${1}-test/' *.txt
___ ____
^ ^
capturing group |
captured group
(删除-n开关,当你测试OK)
有有可能会或可能不能够做到这一点,所以要小心其他同名的工具。
如果您运行以下命令( GNU
)
$ file "$(readlink -f "$(type -p rename)")"
和你有一样的结果
.../rename: Perl script, ASCII text executable
并且不包含:
ELF
那么这似乎是正确的工具=)
如果不是,使它的默认(通常已经是这样了), Debian
和衍生像Ubuntu
:
$ sudo update-alternatives --set rename /path/to/rename
(替换/path/to/rename
你的路径perl's rename
命令。
如果你没有这个命令,请搜索您的软件包管理器进行安装或做手工 (无DEPS)
最后但并非最不重要的,该工具最初是由Larry Wall,Perl的的爸爸写的。