免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: david0128
打印 上一主题 下一主题

请教批量修改带空格的文件名 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-04-28 09:27 |只看该作者
以a b为例
mv "a b" `ls "a b"|awk '{i=1;while(i
jy02107028 发表于 2011-04-27 18:40



    貌似不能批量更改

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
12 [报告]
发表于 2011-04-28 13:02 |只看该作者
回复 1# david0128

  1. ls |while read line; do mv "$line" "${line// /_}"; done
复制代码

论坛徽章:
0
13 [报告]
发表于 2011-04-28 23:02 |只看该作者
csh的命令

foreach f (*)
  set g=`echo $f | sed 's# ##g'`
  if ("$f" != "$g") mv $f $g
end
这个可以实现的

论坛徽章:
0
14 [报告]
发表于 2011-04-29 09:28 |只看该作者
回复  david0128
yinyuemi 发表于 2011-04-28 13:02



    可以解释一下${line// /_}这的正则吗?类似于sed吗?我试过${line/ /_}、${line/\ /_}都是可以实现的,但不知道这样做是不是有缺陷,请教一下。

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
15 [报告]
发表于 2011-04-29 09:32 |只看该作者
回复 14# david0128


    ${var//foo/bar/} 全部替换
${var/foo/bar/} 替换第一个

论坛徽章:
0
16 [报告]
发表于 2011-04-29 09:34 |只看该作者
回复 15# yinyuemi


    学习了,谢谢!

论坛徽章:
0
17 [报告]
发表于 2011-04-29 09:56 |只看该作者
回复 16# david0128


    http://bbs.chinaunix.net/viewthr ... p;page=7#pid1617953  

    经典老帖子  有后面讲  //  /

论坛徽章:
0
18 [报告]
发表于 2011-04-29 17:47 |只看该作者
回复 17# taojie2000


    学习,3Q~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP