大量檔名處理請教 - Linux

Table of Contents


各位好,我是個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









--

不過是人

http://www.facebook.com/twaiting

--

All Comments

Franklin avatarFranklin2015-06-23
awk split 查一下用法
Queena avatarQueena2015-06-23
用python? 把檔名讀近來用split切
Selena avatarSelena2015-06-25
xargs + mv + sed
Jessica avatarJessica2015-06-28
把檔名用ls之類的工具餵給管線'|'然後當成文字檔處理
Regina avatarRegina2015-06-28
標準輸入的部分,把內容處理成一條一條你期望的指令
然後再透過管線餵給bash
Jessica avatarJessica2015-06-29
概念像是上篇連結裡提及的那樣。(推這一系列文章)
Ursula avatarUrsula2015-07-02
xargs mv {} file ??? 這語法有點問題,結果整個錯誤
xargs 看不懂 {}, 所以當作一般檔案名稱
Cara avatarCara2015-07-04
正確方式是使用 -I 指定這類需求
blah........ | xargs -I '{}' mv {} /path