LinuxSir.cn,穿越时空的Linuxsir!

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

写一个脚本,根据 name 文件的内容来重命名 mid 目录下的所有 mid 文件[基本解决]

[复制链接]
放荡不羁的马甲 该用户已被删除
发表于 2004-6-1 22:22:23 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
放荡不羁的马甲 该用户已被删除
 楼主| 发表于 2004-6-1 22:38:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
放荡不羁的马甲 该用户已被删除
 楼主| 发表于 2004-6-1 22:53:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2004-6-1 23:28:26 | 显示全部楼层
  1. cat file
  2. cat name.txt|sed 's/ //g'|sed '/mid$\|>$/d;s/mid//g;s/\(.*\)/\1.mid/g' >tmp$$

  3. for file in *;do
  4.         mv $file $(cat tmp$$|grep "^\<$(echo $file|awk -F. '{print $1}')\>")
  5. #echo $file|cut -f1 -d'.'
  6. done
  7.         rm tmp$$
复制代码

结果片段:
100.马兰花开.mid                     165.我们多么幸福.mid                  38.二泉映月.mid
101.卖报歌.mid                       166.我们共产党人好比种子.mid          39.分飞燕.mid
102.满江红.mid                       167.我是一个兵.mid                    3.啊朋友再见.mid
103.没有共产党就没有新中国.mid       168.我为共产主义献青春.mid            40.风含情水含笑.mid
104.每当我走过老师窗前.mid           169.舞蹈音乐.春.mid                   41.风中残烛(纪念戴安娜)(国外).mid
105.美国巡逻队(国外).mid           16.长江之歌.mid                       42.凤阳花鼓.mid
106.美丽的草原我的家.mid             170.舞剧《白毛女》选曲——窗花舞.mid  43.赶集路上.mid
107.梦的衣裳.mid                     171.舞剧《红色娘子军》选曲.mid        44.赶牲口.mid
108.梦回四面山.mid                   172.夕阳红.mid                        45.敢问路在何方.mid
109.梦驼铃.mid                       173.夕阳萧鼓.mid                      46.高山流水.mid
10.毕业歌.mid                        174.喜洋洋.mid                        47.歌唱动荡的青春.mid
110.民乐合奏《喜洋洋》.mid           175.掀起你的盖头来.mid                48.歌唱二郎山.mid
111.民乐合奏《拥军秧歌》.mid         176.小白船.mid                        49.歌唱祖国.mid
112.民乐小品《抚州采茶戏》.mid       177.小放牛.mid                        4.八月桂花遍地开.mid
113.茉莉花.mid                       178.小号手.mid                        50.革命将士出征歌.mid
114.男儿当自强(黄飞鸿).mid         179.新年快乐.mid                      51.恭贺新禧.mid
115.南都夜曲.mid                     17.唱只山歌给党听.mid                 52.共产党好共产党亲.mid
116.南泥湾.mid                       180.星星.mid                          53.共产主义儿童团.mid
117.年年如意.mid                     181.幸福山歌唱不完.mid                54.古筝独奏《高山流水》.mid
118.柠檬树.mid                       182.幸福山歌唱给党.mid                55.管弦乐(民间舞蹈)《傩风》.mid
119.牛背上的小姑娘.mid               183.绣红旗.mid                        56.鬼精灵.mid
11.边疆处处赛江南.mid                184.绣金匾.mid                        57.国际歌(法国).mid
120.女孩与四重奏.mid                 185.雪绒花(国外).mid                58.红河谷(国外).mid
121.盼红军.mid                       186.血染的风采.mid                    59.红莓花儿开(前苏联).mid
122.盼亲人.mid                       187.延边人民热爱毛主席.mid            5.白毛女.窗花舞.mid
123.七色光之歌.mid                   188.扬鞭催马运粮忙.笛子独奏.mid       60.红梅赞.mid
124.七子之歌.mid                     189.阳明春晓1.mid                     61.红色娘子军.选曲.mid
125.骑马挎枪走天下.mid               18.赤卫队员五寸钢刀舞.mid             62.红星歌.mid
126.青春舞曲.mid                     190.阳明春晓2.mid                     63.花好月圆.mid
127.秋湖月夜.mid                     191.瑶族舞曲.mid                      64.花与琴的流星.mid
128.让我们荡起双桨.mid               192.一、二、三、四.mid                65.欢乐的劳动.mid
129.人民军队忠于党.mid               193.义勇军进行曲.mid                  66.欢迎进行曲.mid
12.采茶扑蝶.mid                      194.意大利之夏(90世界杯主题曲).mid    67.黄河大合唱.mid
130.赛马.mid                         195.英雄的赞歌.mid                    68.黄河颂.mid
131.三大纪律八项注意.mid             196.迎宾曲.mid                        69.黄鹂鸟.mid
132.三十里铺.mid                     197.mid                               6.半个月
ps:比较糙 ,没有排序
发表于 2004-6-1 23:37:36 | 显示全部楼层
这样可以吗:
sed '/[0-9]*.mid$/d;s/^/mv /;s/mid/mid /;s/$/.mid/' name > name.sh
然后,运行一下name.sh:
. name.sh
完了把name.sh删除。
发表于 2004-6-1 23:42:37 | 显示全部楼层
改进一下:
sed '/[0-9]*.mid$/d;s/^/mv "/;s/mid/mid" "/;s/$/.mid"/' name > name.sh
然后,运行一下name.sh:
. name.sh
完了把name.sh删除。
放荡不羁的马甲 该用户已被删除
 楼主| 发表于 2004-6-1 23:48:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2004-6-1 23:52:40 | 显示全部楼层
最初由 放荡不羁的马甲 发表
javalee 上面给的脚本从 59 到 221可以,1、4、22可以,其他的不行。因为name 中有的一个 mid 文件有双行,一行没有中文名,一行有。

运行脚本提示:
mv: when moving multiple files, last argument must be a directory
Try `mv --help' for more information.
mv: missing file argument
Try `mv --help' for more information.

呵呵,大致思路是这样,你自己改改吧~,
放荡不羁的马甲 该用户已被删除
 楼主| 发表于 2004-6-2 00:01:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2004-6-2 00:08:00 | 显示全部楼层
用dos2unix把文件转换成unix格式的文本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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