Regex 用bash/terminal上的其他字符串替换所有文件名中的字符串
我正在尝试重命名所有与DEV有SRE的文件,并出现上述错误。如果出现错误,请 在shell中运行此命令Regex 用bash/terminal上的其他字符串替换所有文件名中的字符串,regex,bash,macos,Regex,Bash,Macos,我正在尝试重命名所有与DEV有SRE的文件,并出现上述错误。如果出现错误,请 在shell中运行此命令brew安装重命名 再次执行命令 可以尝试重命名's/sre/dev/g'*.sh 仅当文件名包含多个sre 要在实际更改文件名之前执行测试,请使用-n标志: UserOnMac$ rename 's/sre/dev' *.sh rename: error: unrecognized arguments: ngn-sre-guava-run-kops-create.sh ngn-sre-gua
brew安装重命名
再次执行命令
可以尝试重命名's/sre/dev/g'*.sh
仅当文件名包含多个sre
要在实际更改文件名之前执行测试,请使用-n标志:
UserOnMac$ rename 's/sre/dev' *.sh
rename: error: unrecognized arguments: ngn-sre-guava-run-kops-create.sh ngn-sre-guava-run-kops-delete.sh ngn-sre-guava-run-kops-replace.sh ngn-sre-guava-run-kops-update.sh ngn-sre-guava-run-kops-validate.sh
UserOnMac$
那么:
user/> rename -n 's/sre/dev/g' *.sh
rename([Anyword]sre.sh, [Anyword]dev.sh)
您可以使用
大括号扩展
在任何命令中使用{OLD,NEW}替换。重命名
不是标准的MacOS命令,您必须从第三方安装它。编程问题也是如此,而不是关于使用或配置Unix及其应用程序的问题。SuperUser.com或unix.stackexchange.com是回答类似问题的更好的地方。哦,我明白了。谢谢,我该如何结束我的问题?点击“标志”并要求版主移动它。错误消息是抱怨文件名参数。s//
命令中的错误真的会导致这种情况吗?只有当文件名包含多个需要替换的sre
时,才需要使用g
修饰符,但情况并非如此。@Barmar我知道使用g
和类似于将所有sre
替换为dev
。谢谢你告诉我的
user@MacBook ~/test> touch file_SRE.txt
user@MacBook ~/test> ls
file_SRE.txt
user@MacBook ~/test> mv -v file_{SRE,DEV}.txt
file_SRE.txt -> file-DEV.txt