[問題] 保留特定副檔名且刪除其他檔案

看板Linux作者 (我不是納豆)時間13年前 (2012/11/09 17:00), 編輯推噓1(109)
留言10則, 5人參與, 最新討論串1/1
各位好!!小弟是linux的新手 想請問如果一個資料夾中有數個檔案 ex: richer01, richer02,..., richer99 abcdef 1234abcd sh01.sh sh02.sh sh03.sh 若只想保留副檔名為.sh的檔案 其他檔案全刪除的話 該如下什麼指令比較合適?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.135.149

11/09 17:09, , 1F
mkdir sh ; mv *.sh sh ; rm *; mv sh/* . ; rmdir sh
11/09 17:09, 1F

11/09 17:17, , 2F
ls *[!sh]
11/09 17:17, 2F

11/09 17:17, , 3F
rm *[!sh]
11/09 17:17, 3F

11/09 17:27, , 4F
感謝D大!!
11/09 17:27, 4F

11/10 00:16, , 5F
find dir/ \( -type f -a ! -name '*.sh' \) -delete
11/10 00:16, 5F

11/10 00:17, , 6F
拿掉-delete可以先看一下對不對&這個只刪檔案不刪資料夾
11/10 00:17, 6F

11/10 04:19, , 7F
ls . | grep *.sh | awk '{system("rm "$1)}'
11/10 04:19, 7F

11/10 04:20, , 8F
打錯,上面變專刪.sh,這個才對
11/10 04:20, 8F

11/10 04:21, , 9F
ls . | grep -v *.sh | awk '{system("rm "$1)}'
11/10 04:21, 9F

11/10 15:12, , 10F
ls . | grep -v "\.sh$" | xargs rm
11/10 15:12, 10F
文章代碼(AID): #1GdCOUP- (Linux)