重命名使用正则表达式的文件 - Linux的(Renaming files using regul

2019-09-29 09:25发布

我有一个名为三个文件

file1.txt
file2.txt
file3.txt

我想他们重命名为

mynewfile-1.txt
mynewfile-2.txt
mynewfile-3.txt

我如何去这个使用正则表达式?

Answer 1:

尝试这个 :

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的的爸爸写的。



文章来源: Renaming files using regular expressions - Linux