免费注册 查看新帖 |

Chinaunix

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

linux批量重命名目录下某类型的文件—括子目录中的~ [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-10-22 17:16 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

说的夸张点,如果有一万个目录,这样做还不累死了~~
好在没有一万个,只有五千个,累个半死~~~~~~
呼呼~~~~~

论坛徽章:
0
12 [报告]
发表于 2004-10-22 17:19 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

自己顶,顶到有答案为止~~~~
那位shell高手给,出个主意啊~~~

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
13 [报告]
发表于 2004-10-22 17:26 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

原帖由 "shadow_2004" 发表:
说的夸张点,如果有一万个目录,这样做还不累死了~~
好在没有一万个,只有五千个,累个半死~~~~~~
呼呼~~~~~

全在shell 里写呀!手工是不行的,会死人的.
让我想想看吧.

论坛徽章:
0
14 [报告]
发表于 2004-10-22 17:31 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

原帖由 "q1208c" 发表:

全在shell 里写呀!手工是不行的,会死人的.
让我想想看吧.


期待shell中~~~~~~

论坛徽章:
0
15 [报告]
发表于 2004-10-22 17:39 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

自己顶~~~~~

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
16 [报告]
发表于 2004-10-22 17:46 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~


  1. #!/bin/bash
  2. #

  3. ls -1 *.txt | awk -F. '{ print "mv "$1"."$2" "$1".ini" }'

  4. for dir in `ls -l | grep ^d | awk '{ print $9 }'`
  5. do
  6. ls -1 $dir/*.txt | awk -F. '{ print "mv "$1"."$2" "$1".ini" }'
  7. done
复制代码


注意,ls *.txt 那一行的 "-"后面是数字1, 不是小写L, 而for 那一行的是小写L.

我没试过, 你试试先.

论坛徽章:
0
17 [报告]
发表于 2004-10-22 17:55 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

[root@ftp test]# ./ren
mv aircraft.txt aircraft.ini
mv airline.txt airline.ini
mv airport_service.txt airport_service.ini
mv airport.txt airport.ini
mv city.txt city.ini
mv class_of_service.txt class_of_service.ini
mv code_description.txt code_description.ini
mv compound_class.txt compound_class.ini
mv connect_leg.txt connect_leg.ini
mv date_day.txt date_day.ini
mv day_name.txt day_name.ini
mv dual_carrier.txt dual_carrier.ini
mv fare.txt fare.ini
mv fconnection.txt fconnection.ini
mv file.txt file.ini
mv flight_class.txt flight_class.ini
mv flight_day.txt flight_day.ini
mv flight_fare.txt flight_fare.ini
mv flight.txt flight.ini
mv food_service.txt food_service.ini
mv ground_service.txt ground_service.ini
mv month_name.txt month_name.ini
mv restrict_carrier.txt restrict_carrier.ini
mv restrict_class.txt restrict_class.ini
mv restriction.txt restriction.ini
mv state.txt state.ini
mv stop1.txt stop1.ini
mv stop.txt stop.ini
mv time_interval.txt time_interval.ini
mv time_zone.txt time_zone.ini
mv transport.txt transport.ini
mv jdjdj/aircraft.txt jdjdj/aircraft.ini
mv jdjdj/airline.txt jdjdj/airline.ini
mv jdjdj/airport_service.txt jdjdj/airport_service.ini
mv jdjdj/airport.txt jdjdj/airport.ini
mv jdjdj/city.txt jdjdj/city.ini
mv jdjdj/class_of_service.txt jdjdj/class_of_service.ini
mv jdjdj/code_description.txt jdjdj/code_description.ini
mv jdjdj/compound_class.txt jdjdj/compound_class.ini
mv jdjdj/connect_leg.txt jdjdj/connect_leg.ini
mv jdjdj/date_day.txt jdjdj/date_day.ini
mv jdjdj/day_name.txt jdjdj/day_name.ini
mv jdjdj/dual_carrier.txt jdjdj/dual_carrier.ini
mv jdjdj/fare.txt jdjdj/fare.ini
mv jdjdj/fconnection.txt jdjdj/fconnection.ini
mv jdjdj/flight_class.txt jdjdj/flight_class.ini
mv jdjdj/flight_day.txt jdjdj/flight_day.ini
mv jdjdj/flight_fare.txt jdjdj/flight_fare.ini
mv jdjdj/flight.txt jdjdj/flight.ini
mv jdjdj/food_service.txt jdjdj/food_service.ini
mv jdjdj/ground_service.txt jdjdj/ground_service.ini
mv jdjdj/month_name.txt jdjdj/month_name.ini
mv jdjdj/restrict_carrier.txt jdjdj/restrict_carrier.ini
mv jdjdj/restrict_class.txt jdjdj/restrict_class.ini
mv jdjdj/restriction.txt jdjdj/restriction.ini
mv jdjdj/state.txt jdjdj/state.ini
mv jdjdj/stop1.txt jdjdj/stop1.ini
mv jdjdj/stop.txt jdjdj/stop.ini
mv jdjdj/time_interval.txt jdjdj/time_interval.ini
mv jdjdj/time_zone.txt jdjdj/time_zone.ini
mv jdjdj/transport.txt jdjdj/transport.ini

估计是行了,是不是要在后面加 |sh

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
18 [报告]
发表于 2004-10-22 17:57 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

加那个做什么用呢?

论坛徽章:
0
19 [报告]
发表于 2004-10-22 18:02 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

现在的脚本只是回显结果没真正执行的,加 |sh 也是我刚学来的,试了试果然很好用哦,不过|sh还是要加的
最后脚本为

#!/bin/bash
#

ls -1 *.txt | awk -F. '{ print "mv "$1"."$2" "$1".ini" }'

for dir in `ls -l | grep ^d | awk '{ print $9 }'`
do
ls -1 $dir/*.txt | awk -F. '{ print "mv "$1"."$2" "$1".ini" }'
done



希望有用的着的试试,很不错,谢谢q1208c兄指教~~~~

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
20 [报告]
发表于 2004-10-22 18:05 |只看该作者

linux批量重命名目录下某类型的文件—括子目录中的~

噢.知道了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP