檔名分類 - Linux

Table of Contents


大家好請教各位怎麼把大檔的檔名分類

我檔案中檔名規則是 編號_ID.txt

我想要依ID把資料夾中的所有檔分類


我目前的做法是

$ls > txtlist | sed -i 's@^@/home/me/Doc/@g' - 做出檔案清單,改成絕對路徑

$ grep 'ID' txtlist > IDfile 從清單中手動把不同ID的檔做成清單

$cat IDfile |xargs -i mv {} IDfile.dir 照清單一一移動資料


但這做法很笨,因為我有50個以上的ID,等於後兩個步驟要做50次以上...

想請教有沒有什麼更簡潔的做法呢?

謝謝
Dan

--

不過是人

http://www.facebook.com/twaiting

--

All Comments

Hazel avatarHazel2015-07-17
for ID in ...; do find $PWD -name '*'_${ID}.txt \
Rachel avatarRachel2015-07-22
-maxdepth 1 | xargs ...; done
Hazel avatarHazel2015-07-22
想辦法把50個以上的ID存成idlist.txt,
Jake avatarJake2015-07-25
for ID in `cat idlist.txt` . . . . . .
Hedda avatarHedda2015-07-28
對~ 必須存成 *.sh , 執行前 , 必須 chmod +x *.sh
Zanna avatarZanna2015-07-31
bash指令不見得需要存啊 直接打也是可以