作者richer30 (我不是納豆)
看板Linux
標題[問題] 保留特定副檔名且刪除其他檔案
時間Fri Nov 9 17:00:11 2012
各位好!!小弟是linux的新手
想請問如果一個資料夾中有數個檔案
ex:
richer01, richer02,..., richer99
abcdef
1234abcd
sh01.sh
sh02.sh
sh03.sh
若只想保留副檔名為.sh的檔案 其他檔案全刪除的話
該如下什麼指令比較合適??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.135.149
→ dyoll:mkdir sh ; mv *.sh sh ; rm *; mv sh/* . ; rmdir sh 11/09 17:09
→ dyoll:ls *[!sh] 11/09 17:17
→ dyoll:rm *[!sh] 11/09 17:17
→ richer30:感謝D大!! 11/09 17:27
推 ckclark:find dir/ \( -type f -a ! -name '*.sh' \) -delete 11/10 00:16
→ ckclark:拿掉-delete可以先看一下對不對&這個只刪檔案不刪資料夾 11/10 00:17
→ DEATHX:ls . | grep *.sh | awk '{system("rm "$1)}' 11/10 04:19
→ DEATHX:打錯,上面變專刪.sh,這個才對 11/10 04:20
→ DEATHX:ls . | grep -v *.sh | awk '{system("rm "$1)}' 11/10 04:21
→ asilzheng:ls . | grep -v "\.sh$" | xargs rm 11/10 15:12