11
A
回答
30
在这里,你走了,这个循环遍历当前目录下的所有文件(和文件夹):
for oldname in *
do
newname=`echo $oldname | sed -e 's/ /_/g'`
mv "$oldname" "$newname"
done
请注意,这将覆盖具有相同名称的文件。也就是说,如果有两个文件具有相同的文件名,但其中一个文件具有下划线,另一个文件具有空格。在那种情况下,具有下划线的那个将会被具有空格的那个覆盖。这个较长的版本会跳过这些情况:
for oldname in *
do
newname=`echo $oldname | sed -e 's/ /_/g'`
if [ "$newname" = "$oldname" ]
then
continue
fi
if [ -e "$newname" ]
then
echo Skipping "$oldname", because "$newname" exists
else
mv "$oldname" "$newname"
fi
done
相关问题
- 1. 从文件名中删除空格
- 2. 删除文件名中的空格apache
- 3. 从文件夹中删除文件
- 4. Yii2从文件夹中删除文件
- 5. 如何从特定目录中的文件夹名称中删除空格?
- 6. 用文件名中的空格删除文件ios
- 7. 删除目录中的空文件夹
- 8. 删除iOS中的空文件夹?
- 9. 从文件夹和子文件夹中删除文件
- 10. 清除文件夹 - 删除文件夹中的文件 - J2ME
- 11. 文件夹名称中的空格
- 12. 从目录中的所有文件名删除空格 - Java
- 13. 从上传的文件名中删除空格和逗号
- 14. Ansible:删除json文件中的空格
- 15. 删除批处理文件夹中的文件和文件夹
- 16. 删除指定文件夹中的文件和文件夹
- 17. VBS从压缩文件夹中删除文件夹
- 18. 如何逃避文件的文件夹名称中的空格?
- 19. 如何从Yii2中的/ web文件夹中删除文件?
- 20. 如何从codeigniter中的文件夹中删除文件?
- 21. Python - 从文件夹中的所有文件中删除重音
- 22. Git - 从.git文件夹中删除文件,而无需远程删除文件
- 23. 从文本文件中删除名称
- 24. 从文件夹名称中删除括号和文本
- 25. 根据名称选择删除文件夹中的文件
- 26. 删除部分文件名的文件夹中
- 27. htaccess删除文件夹的文件夹
- 28. 名称/文件夹中带有空格的Zip文件
- 29. 删除名为“已删除”的所有文件夹中的文件
- 30. 从GridView输出中删除文件夹
mv命令中双引号的功能是什么?那条线相当于mv $(oldname)$(newname)吗? – 2016-08-11 04:16:26
没有双引号,带空格的文件名会导致问题。不,不等同。 '$()'语法用于命令替换:https://en.wikipedia.org/wiki/Command_substitution – 2016-08-22 10:48:16
ghhhaaaa我想要递归地做这件事,并且打所有的子类... – 2017-06-16 03:25:13