Aar*_*ton 6 find centos filenames rename files
我正在尝试查找名称为“stringx”的某些文件,并将名称(但不是扩展名)替换为“stringy”。所以基本上对于stringx.txt 和stingx.cs,我想要stringy.txt 和stringy.cs。我尝试使用以下方法测试我的重命名命令正则表达式,但它没有返回任何结果:
rename -n 'stringx./s/\*$stringy./\/' stringx.*
Run Code Online (Sandbox Code Playgroud)
我在 Centos 下运行 csh。我可以看到我的正则表达式可能不正确,但我看不到任何结果来验证这一点。我可以看到有名为 stringx 的文件。具有以下内容:
find ./ -name 'stringx.*'
Run Code Online (Sandbox Code Playgroud)
Gil*_*il' 11
rename stringx stringy stringx.*
Run Code Online (Sandbox Code Playgroud)
rename在典型的 Linux 系统上有(至少)两个实用程序被调用。Debian 和衍生发行版(包括 Ubuntu)提供一个 Perl 脚本,其语法为
rename 's/stringx/stringy/' stringx.*
Run Code Online (Sandbox Code Playgroud)
在其他发行版上,包括 CentOS,rename来自 util-linux,它的语法是我上面写的。该实用程序可在rename.ulDebian 及其衍生产品的名称下使用。
如果您想在子目录中递归,假设 csh 是指 tcsh(但实际上,请考虑进入 1990 年代中期并切换到 zsh):
set globstar
rename stringx stringy stringx.* **/stringx.*
Run Code Online (Sandbox Code Playgroud)