[问题] 大量档名处理请教

楼主: cherubx (DanzYam)   2015-06-22 10:16:38
各位好,我是个linux新手Orz,有个问题想跟大家请教下
工作上有大量档名(10万笔以上)处理的需求,档名方式约如下
编号─日期─帐号.副档名

5001010-20060709-wow.txt
5001863-20060703-lol.wav
有时需要抓某个数字以后的档,如:抓出5000000~5001100
有时需要抓某帐号的档名,如:wow、lol、kerker
有时需抓某副档名如:.txt、.wav、.wc
副档名的部份比较好解 用 mv rename *.副档名
但编号跟帐号这部份我就不知道怎么做了
看过sed awk egrep这些公用程式
egrep的可以用正则处理文字,但档名好像没办法。
不知道我应该再补充哪方面的知识呢?谢谢
Dan
作者: dou0228 (7777)   2015-06-22 11:06:00
awk split 查一下用法
作者: qoo1991 (笨哲)   2015-06-22 15:43:00
用python? 把档名读近来用split切
作者: firejox (Tangent)   2015-06-22 20:16:00
xargs + mv + sed
作者: losepacific (Losepacific)   2015-06-22 21:29:00
把档名用ls之类的工具喂给管线'|'然后当成文字档处理标准输入的部分,把内容处理成一条一条你期望的指令然后再透过管线喂给bashhttp://user.frdm.info/ckhung/b/re/net.php概念像是上篇连结里提及的那样。(推这一系列文章)
作者: kenduest (小州)   2015-06-23 19:26:00
xargs mv {} file ??? 这语法有点问题,结果整个错误xargs 看不懂 {}, 所以当作一般档案名称正确方式是使用 -I 指定这类需求blah........ | xargs -I '{}' mv {} /path

Links booklink

Contact Us: admin [ a t ] ucptt.com