• 欢迎访问好鸭,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏好鸭吧

Shell批量修改目录文件名的空格

Linux haoduck 8分钟前 3次浏览 0个评论

有些时候,目录和文件上有空格,不太好

记录几个批量改名的命令

免得以后需要又要找

情况1
目录中有空格,目录的空格改为下划线
dir="./"
find $dir -name "* *" -type d |
while read name; do
na=$(echo $name | sed 's/ /_/g')
mv "$name" $na
done

情况2
文件名是空格开头的,直接去掉开头的空格
dir="./"
find $dir -name "* *" -type f|grep "\/ "|
while read name; do
na=$name
while [[ $(echo $na|grep "\/ ") ]]; do
na=$(echo $na|sed 's/\/ /\//')
done
mv "$name" $na
done

情况3
文件名中有空格,空格改为下划线(和情况一就改了个参数)
dir="./"
find $dir -name "* *" -type f |
while read name; do
na=$(echo $name | sed 's/ /_/g')
mv "$name" $na
done

情况4
目录和文件名的空格都改成下划线
dir="./"
find $dir -name "* *" |
while read name; do
na=$(echo $name | sed 's/ /_/g')
mv "$name" $na
done


好鸭 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Shell批量修改目录文件名的空格
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址