LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 758|回复: 3

求助:如何按照指定方式批量更改文件名

[复制链接]
发表于 2010-6-16 22:23:39 | 显示全部楼层 |阅读模式
我下载了5个mp3文件,放在同一个目录(比如说~/mymusic)下面,但是文件名比较长,而且都是数字,都是形如834df3a3-24fe-42b5-bdf0-196e274858a1.mp3, 很不便于播放和管理。下面希望把文件名进行修改。我已经把下载地址和更改后的文件名分别储存在filelist和name文件里面(顺序是一一对应的),并且这两个文件也放在mymusic目录下。
如果手工修改比较麻烦,能否使用shell命令进行批量更名呢(比如把834df3a3-24fe-42b5-bdf0-196e274858a1.mp3更改为1.love is color blind 爱是无色的.mp3)?谢谢!

fileist内容:
http://bbsrrs1.joy.cn/6A188E56A7 ... f0-196e274858a1.mp3
http://bbsrrs1.joy.cn/6A188E56A7 ... ae-51495a322425.mp3
http://bbsrrs1.joy.cn/6A188E56A7 ... 47-1d06a7617e56.mp3
http://bbsrrs1.joy.cn/6A188E56A7 ... 6e-b316602d7b43.mp3
http://bbsrrs1.joy.cn/6A188E56A7 ... 3f-218e9f31c845.mp3


name文件内容:
1.love is color blind 爱是无色的
2.better in time 刚刚好
3.inconsoble 真情难收
4.fields of gold 金色原野
5.you raise me up 你鼓舞了我
发表于 2010-6-17 02:57:50 | 显示全部楼层
纯Bash
  1. #!/bin/bash
  2. i=0
  3. while read a
  4. do
  5.         u[i]="${a##*/}"
  6.         ((i++))
  7. done<filelist
  8. i=0
  9. while read a
  10. do
  11.         mv "${u[i]}" "$a".mp3
  12.         ((i++))
  13. done<name
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-17 11:27:51 | 显示全部楼层
非常感谢lastart, 我已经成功了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-17 14:44:19 | 显示全部楼层
非常感谢lastart, 我已经成功了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表