免费注册 查看新帖 |

Chinaunix

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

[文本处理] 请教:Linux批处理重命名的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-01-05 09:29 |只看该作者 |倒序浏览
本帖最后由 277702021 于 2018-12-29 16:44 编辑
大家好,请教一个问题,有一个文件目录排列如下

/RT/13700138000_20180122_1111.mp3
/RT/13800138001_20170112_2222.mp3
/RT/13900138002_20190101_3333.mp3
/RT/13912340000_20160102_2222.mp3

此RT文件夹下面每天都有不同的mp3存入,想实现用命令读取前面11位数字,然后在RT目录下根据前面11位数字新建一个文件夹,并把这个mp3文件移动到新建的文件夹里。

最终实现:

/RT/13700138000/13700138000_20180122_1111.mp3
/RT/
13800138001/13800138001_20170112_2222.mp3
/RT/
13900138002/13900138002_20190101_3333.mp3
/RT/
13912340000/13912340000_20160102_2222.mp3

论坛徽章:
0
2 [报告]
发表于 2019-01-09 15:33 |只看该作者
bash-4.2$ ls RT
13700138000_20180122_1111.mp3  13800138001_20170112_2222.mp3  13900138002_20190101_3333.mp3  13912340000_20160102_2222.mp3


bash-4.2$ ls -1 RT | sed -r 's#(.{11})(.+)#mkdir RT/\1\; mv RT/\1\2 RT/\1/\1\2#'
mkdir RT/13700138000; mv RT/13700138000_20180122_1111.mp3 RT/13700138000/13700138000_20180122_1111.mp3
mkdir RT/13800138001; mv RT/13800138001_20170112_2222.mp3 RT/13800138001/13800138001_20170112_2222.mp3
mkdir RT/13900138002; mv RT/13900138002_20190101_3333.mp3 RT/13900138002/13900138002_20190101_3333.mp3
mkdir RT/13912340000; mv RT/13912340000_20160102_2222.mp3 RT/13912340000/13912340000_20160102_2222.mp3


bash-4.2$ ls -1 RT | sed -r 's#(.{11})(.+)#mkdir RT/\1\; mv RT/\1\2 RT/\1/\1\2#' | sh


bash-4.2$ ls RT
13700138000  13800138001  13900138002  13912340000


bash-4.2$ ls RT/13700138000/
13700138000_20180122_1111.mp3

论坛徽章:
0
3 [报告]
发表于 2019-01-17 12:40 |只看该作者
本帖最后由 277702021 于 2019-01-17 12:49 编辑
csccyab 发表于 2019-01-09 15:33
bash-4.2$ ls RT13700138000_20180122_1111.mp3  13800138001_20170112_2222.mp3  13900138002_20190101_33 ...

非常感谢,您的方法能够实现我的需求,还有一个问题,不知道能不能行。

有一个文件目录排列如下

/RT/aaaaa_13700138000_20180122_1111.mp3
/RT/13800138001_20170112_2222.mp3
/RT/12121_dfdffdfdfdfdfda?11222_aaaa_18812340009.mp3
/RT/12121_dfdffdfdf111d?fdfdaaaaaafdfd_13912340000_aaaaaaa.mp3


此RT文件夹下面每天都有不同的mp3存入,想实现用命令读取其中的11位数字,然后在RT目录下根据其中的11位数字新建一个文件夹,并把这个mp3文件移动到新建的文件夹里。

最终实现:

/RT/13700138000/aaaaa_13700138000_20180122_1111.mp3
/RT/13800138001/13800138001_20170112_2222.mp3
/RT/18812340009/12121_dfdffdfdfdfdfda?11222_aaaa_18812340009.mp3
/RT/13912340008/12121_dfdffdfdf111d?fdfdaaaaaafdfd_13912340008_aaaaaaa.mp3


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP