保留特定副檔名且刪除其他檔案 - Linux

Table of Contents

各位好!!小弟是linux的新手

想請問如果一個資料夾中有數個檔案

ex:

richer01, richer02,..., richer99
abcdef
1234abcd
sh01.sh
sh02.sh
sh03.sh

若只想保留副檔名為.sh的檔案 其他檔案全刪除的話

該如下什麼指令比較合適??

--

All Comments

Genevieve avatarGenevieve2012-11-10
mkdir sh ; mv *.sh sh ; rm *; mv sh/* . ; rmdir sh
Necoo avatarNecoo2012-11-10
ls *[!sh]
rm *[!sh]
Annie avatarAnnie2012-11-13
感謝D大!!
Queena avatarQueena2012-11-16
find dir/ \( -type f -a ! -name '*.sh' \) -delete
Joseph avatarJoseph2012-11-20
拿掉-delete可以先看一下對不對&這個只刪檔案不刪資料夾
Erin avatarErin2012-11-22
ls . | grep *.sh | awk '{system("rm "$1)}'
Eden avatarEden2012-11-23
打錯,上面變專刪.sh,這個才對
Elizabeth avatarElizabeth2012-11-25
ls . | grep -v *.sh | awk '{system("rm "$1)}'
Heather avatarHeather2012-11-28
ls . | grep -v "\.sh$" | xargs rm