nat*_*ath 3 filenames regular-expression rename
我使用rename
下划线文件名中的空格,只需:
rename "s/ /_/g" *
Run Code Online (Sandbox Code Playgroud)
但是我遇到从网上下载的文件经常有多个空格的问题。我使用了一个讨厌的解决方法(但仅适用于 3 个空格,这在大多数情况下就足够了),但必须有比以下更优雅的方法:
rename "s/ /_/g" *; rename "s/ /_/g" *; rename "s/ /_/g" *
Run Code Online (Sandbox Code Playgroud)
以下对我有用:
rename 's/\s+/_/g' *
Run Code Online (Sandbox Code Playgroud)
它将匹配一个到无限的空白实例
请注意,这也适用于换行符和制表符,但是根据您的用例,我认为这会更可取而不是不需要?但是要专门匹配空间,您可以执行以下操作:
rename 's/ +/_/g' *
Run Code Online (Sandbox Code Playgroud)