在文件名中用下划线更改空格

NAR*_*NIC 3 macos bash filenames command replace

我有一个带空格的多个文件,我想用命令行替换这个下划线(Mac)

xxx xxx.jpg - > xxx_xxx.jpg

只有line命令才可能?

123*_*123 8

对于当前目录中的所有文件

for i in *;do mv "$i" "${i// /_}";done
Run Code Online (Sandbox Code Playgroud)

如果您只想将文件与空格匹配(以防止在尝试将文件移入自身时出现大量错误消息),尽管您可以使用扩展的glob

shopt -s extglob
for i in +(* *);do mv "$i" "${i// /_}";done
Run Code Online (Sandbox Code Playgroud)