免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2045 | 回复: 16
打印 上一主题 下一主题

请教关于以"-"开头的文件批量改名的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-28 09:15 |只看该作者 |倒序浏览
从朋友那copy了一些mp3,文件名是乱七八糟,想格式化下,本以为很容易搞定,试过后才发现头痛死了.....麻烦高手相助
这是其中一个文件夹
>ls
- Baloney Again05!!s.mp3            
- Silvertown07!!s.mp3
- El Macho03!!s.mp3                 
- Speedway At Nazareth08!!s.mp3
- Junkie Doll04!!s.mp3              
- The Last Laugh!!s.mp3
- One More Matinee!!s.mp3         
-Wanderlust!!s.mp3
- Prairie Wedding!!s.mp3         
- What It Is!!s.mp3
- Sailing To Philadelphia!!s.mp3   
- Who's Your Baby Now!!s.mp3
- Sands Of Nevada!!s.mp3
我想把它们改成
Baloney Again.mp3  El Macho.mp3  Junkie Doll.mp3  One More Matinee.mp3  Prairie Wedding.mp3  Sailing To Philadelphia.mp3  Sands Of Nevada.mp3  Silvertown.mp3  Speedway At Nazareth.mp3  The Last Laugh.mp3  Wanderlust.mp3  What It Is.mp3  Who's Your Baby Now.mp3
这样的形式,但前面那个"-"老是作怪,请教高手~~

论坛徽章:
0
2 [报告]
发表于 2005-05-28 09:46 |只看该作者

请教关于以"-"开头的文件批量改名的问题

ls|tr '-' ''

论坛徽章:
0
3 [报告]
发表于 2005-05-28 10:06 |只看该作者

请教关于以"-"开头的文件批量改名的问题

for file in $(ls *.mp3);do mv $file `echo $file|sed 's/- *//;s/[0-9][0-9]//;s/!!//'`;done

论坛徽章:
0
4 [报告]
发表于 2005-05-28 10:06 |只看该作者

请教关于以"-"开头的文件批量改名的问题

[quote]原帖由 "lych"]ls|tr '-' ''[/quote 发表:

   不行的,我是想批量改文件名的,mv会把那个-理解为参数,所以怎么都搞不定,您touch个文件试下就知道了

论坛徽章:
0
5 [报告]
发表于 2005-05-28 10:12 |只看该作者

请教关于以"-"开头的文件批量改名的问题

[quote]原帖由 "icesummit"]/!!//'`;done[/quote 发表:

还是不行阿,您也没有阻止mv解释"-"啊

论坛徽章:
0
6 [报告]
发表于 2005-05-28 10:15 |只看该作者

请教关于以"-"开头的文件批量改名的问题

for file in $(ls *.mp3);do mv "$file" `echo $file|sed 's/- *//;s/[0-9][0-9]//;s/!!//'`;done

论坛徽章:
0
7 [报告]
发表于 2005-05-28 10:24 |只看该作者

请教关于以"-"开头的文件批量改名的问题

谢谢大家了,问题已解决只是奇怪,昨天我也是把mv的第一个参数加了"",用同样的命令mv就会解释"-",而今天就没有,郁闷死了,昨天我把那些些文件都用perl改好了,今天又重新改回来测试,再试居然可以用mv了

论坛徽章:
0
8 [报告]
发表于 2005-05-28 10:25 |只看该作者

请教关于以"-"开头的文件批量改名的问题

论坛徽章:
0
9 [报告]
发表于 2005-05-28 10:33 |只看该作者

请教关于以"-"开头的文件批量改名的问题

再麻烦大家下,我个人比较喜欢空格(别打我),所以在保留空格改名时经常要分两句写,比如这次,我是用
for i in * ;do a=`echo $file|sed 's/-//;s/[0-9][0-9]//;s/!!s//'`; mv "$i" "$a";done改名的
请教能否把do a=`echo $file|sed 's/-//;s/[0-9][0-9]//;s/!!s//'`; mv "$i" "$a"合并成一句话?

论坛徽章:
0
10 [报告]
发表于 2005-05-28 10:39 |只看该作者

请教关于以"-"开头的文件批量改名的问题

我写的那个命令里不就是一句话吗?你没看?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP