[問題] 大量檔名處理請教

作者: 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