忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12
最近访问板块 发新帖
楼主: 277702021

[文本处理] Linux 批量重命名文件夹的问题 [复制链接]

论坛徽章:
0
发表于 2018-07-09 13:26 |显示全部楼层

非常感谢。

是我自己描述的不够准确,如果是顶楼那样的  /ok/CCC/17800178000_823_192.mp3   使用代码,可以实现。

但是我的OK目录下有这样的文件  /ok/CCC/17800178000_823_192_AAA_B[B]B_22[2]_xxxx.mp3


是这样的,按照那个代码就实现不了了。


我想问下这里能不能发红包,我想给这位朋友发个红包。

论坛徽章:
1
15-16赛季CBA联赛之青岛
日期:2018-07-09 14:17:28
发表于 2018-07-09 14:10 |显示全部楼层
本帖最后由 christmas1102 于 2018-07-09 14:18 编辑
  1. find /ok -regex '.+\.mp3'|sed -r 's#^(.+\/\w{11})[^\/]*(\.\w+)$#mv & \1\2#e'
复制代码

论坛徽章:
33
双子座
日期:2014-08-06 17:37:1915-16赛季CBA联赛之深圳
日期:2016-10-22 10:02:5215-16赛季CBA联赛之辽宁
日期:2016-11-09 14:04:45黑曼巴
日期:2016-11-23 11:16:52极客徽章
日期:2016-12-07 14:03:402017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:39:4215-16赛季CBA联赛之新疆
日期:2017-03-24 16:36:1915-16赛季CBA联赛之江苏
日期:2017-04-26 17:19:08黑曼巴
日期:2018-03-07 18:56:5615-16赛季CBA联赛之八一
日期:2018-03-09 10:44:1015-16赛季CBA联赛之江苏
日期:2018-03-12 15:12:19
发表于 2018-07-09 14:12 |显示全部楼层
  1. find /ok -regex '.+\.mp3'|sed -r 's#^([^_]+).*(\.\w+)$#mv & \1\2#e'
复制代码


试一下这个  我没有测试   你先备份下

论坛徽章:
0
发表于 2018-07-09 14:38 |显示全部楼层

shell就是这样不严谨,文件名稍微有点特殊字符,脚本就不灵了,就要改。

linux版,powershell就没有这些癌症。
那么说powershell如何对抗特殊字符呢?
答:
powershell所有文件名相关的内容都应该用 -LiteralPath。一个参数,尽解所有特殊字符。

参见   
ps第4课:文件目录对象介绍
http://bbs.chinaunix.net/thread-4264293-1-1.html

我说bash,shell和bat,cmd差不多。是一个级别的。
学1年ps顶学5年bat。学1年ps顶学3年shell。

  1. Get-ChildItem -File -Recurse -path '/你的目录/xxx' -Include '*.mp3' | foreach-object { Rename-Item -LiteralPath $_.fullname -NewName (($_.basename[0..10] -join '') + $_.Extension) }
复制代码

论坛徽章:
0
发表于 2018-07-09 15:16 |显示全部楼层
谢谢 christmas1102 o枫叶o飘零 以及上面这位朋友。

christmas1102 与 o枫叶o飘零的代码都可以实现我的需求,很好用。

christmas1102 的代码是保留了前面11位,o枫叶o飘零的代码是去掉了 _ 后面的所有,两个代码都很有作用。

再次感谢。

论坛徽章:
0
发表于 2018-07-09 15:18 |显示全部楼层
本帖最后由 277702021 于 2018-07-09 15:20 编辑

这里有个打赏功能,但是怎么显示签名错误?
ds.PNG
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP