ディレクトリ配下の特定の拡張子「以外」のファイルを消したい

  • お題 : 「カレントディレクトリから、.sh 以外のファイルを消したい」

bash にて。ただし extglob が有効になってること。

$ ls
a.sh	a.txt	b.sh	b.txt	c.sh	c.txt
$ rm -fr !(*.sh)
$ ls
a.sh	b.sh	c.sh

debian etch であれば、extglob は /etc/bash_completion の読み込みをしていれば有効化されとるです。extglob を有効にするには以下で。

$ shopt -s extglob