我有各种名称为
的文件
"type_featAtype_featB"
和
“type_featAtype_featC”
我需要所有
“type_featA”
替换为
“START”
所以文件夹的新名称将被称为
“STARTtype_featB”
和
STARTtype_featC“
但是,并非所有文件都具有相同的后缀,实际上它们都有不同的后缀,如示例中所示。
因此,我正在寻找有关如何使用命令来替换文件名的一部分的见解,如上面在一个文件夹中所示,其中每个文件具有唯一的后缀。 谢谢
提前感谢您的帮助。
答案 0 :(得分:7)
更隐蔽的选择是使用SED - 我想如果你无法访问perl重命名功能(我承认更简洁,更清晰),你会选择这样做:
ls * | sed -e 'p;s/^type_featA/START/' | xargs -n2 mv
答案 1 :(得分:3)
假设您拥有属于perl发行版的rename
实用程序,您可以说:
rename 's/^type_featA/START/' *
以达到理想的效果。
答案 2 :(得分:1)
devnull's answer是正确的。你甚至可以写:
rename 's/^type_featA/START/' my_folder/type_featA*
这个rename命令行在Debian和其他派生的发行版中是完美的。
但是,其他发行版可能会使用与Fedora,RedHat和CentOS不同的rename工具。在第二种情况下,右侧命令行是:
rename type_featA START my_folder/type_featA*
此第二个rename工具将仅替换第一个type_featA
次发生。