通常私はbashでこれをする
shopt -s extglob
rm !(filedontwantremove)
filedontwantantremoveを除くすべてのファイルを削除します。
しかし、 filedontwantwantremove と「完全に異なる名前を持つ別のファイル」を除くすべてのファイルを削除するにはどうすればよいですか?
私は解決策を見つけましたが、rm!()のようなものを好みます。
ベストアンサー1
ちょうど使用:
shopt -s extglob
rm !(filedontwantremove|antotherfilewithatotaldifferentname)
しかし、extglobは通常bashの対話型シェルでデフォルトでオンになっています。
アクティブであることを確認するには:
$ shopt -p extglob
shopt -s extglob ### The -s means that it is set.
!(pattern-list)
そして、このコマンドを実行して、マニュアルでそのイディオムを説明するセクションを見つけます。
$ LESS=+/'If the extglob shell option is enabled' man bash
...ㅏパターンリスト|で区切られた1つ以上のパターンのリスト。