単純なターミナルコマンドで ! (not) 演算子を適用する方法

単純なターミナルコマンドで ! (not) 演算子を適用する方法

非常に簡単なことのようです。Bash スクリプトでは実行しましたが、ターミナルで同じことを実行する方法がわかりません。

たとえば、lsではないすべてのファイルを取得したいとしますjs。おそらく次のようにします。

ls ! *.js

しかし、演算子にエラーが発生します!

not() 演算子を使用してmv、、およびその他の演算を実行するにはどうすればよいですか?rm!

私のシェルは Bash であることに注意してください。

答え1

シェルでは、 を有効にして実行するbash必要があります。extglobls !(*.js)

例:

$ touch file.js file.txt
$ shopt -s extglob
$ ls  !(*.js)
file.txt

関連情報