我的文件夹中有许多文件,我想用下划线替换所有文件名中的每个空格字符。我该如何实现?
我的文件夹中有许多文件,我想用下划线替换所有文件名中的每个空格字符。我该如何实现?
Answers:
应该这样做:
for file in *; do mv "$file" `echo $file | tr ' ' '_'` ; done
for file in *; do mv "$file" $(echo $file | tr ' ' '_') ; done
*
为PATH_TO_YOUR_DIRECTORY
。
我更喜欢使用命令“ rename”,它使用Perl风格的正则表达式:
rename "s/ /_/g" *
您可以使用-n标志进行试运行:
rename -n "s/ /_/g" *
rename " " "_" *
rename
它在OSX中不可用。
rename
上可用。
如果您使用bash:
for file in *; do mv "$file" ${file// /_}; done
mv --help' for more information. mv: when moving multiple files, last argument must be a directory Try
mv --help'了解更多信息。
mv --help' for more information. mv: missing file argument Try
mv --help'了解更多信息。mv:缺少文件参数请尝试mv --help' for more information. mv: missing file argument Try
mv --help'了解更多信息。
假设您的所有文件都是.txt文件,请尝试如下操作:
for files in *.txt; do mv “$files” `echo $files | tr ‘ ‘ ‘_’`; done
tr --help' for more information. mv: missing file argument Try
mv --help'了解更多信息。
引用您的变量:
for file in *; do echo mv "'$file'" "${file// /_}"; done
删除“ echo”以进行实际的重命名。
\'1130 lake micigan view.jpg\'': No such file or directory mv: cannot stat
\'1130_1_bedroom_floor_plan.jpg \':没有这样的文件或目录mv:无法统计\'1130_BedPicture_8.jpg\'': No such file or directory mv: cannot stat
\'1130_diningroom_table.jpg \':没有这样的文件或目录
要.py
使用扩展名重命名所有文件,
find . -iname "*.py" -type f | xargs -I% rename "s/ /_/g" "%"
样品输出
$ find . -iname "*.py" -type f
./Sample File.py
./Sample/Sample File.py
$ find . -iname "*.py" -type f | xargs -I% rename "s/ /_/g" "%"
$ find . -iname "*.py" -type f
./Sample/Sample_File.py
./Sample_File.py
1 - foo.jpg
而我的文件夹已经1.jpg
在其中了。