次のファイルがあります。
$ cat files
foo.txt
bar.js
bash awkを使用して.js
。
awkは一重引用符を使用するとうまく機能します。
$ awk '$1 !~ /.js$/ {print $1}' files
foo.txt
ただし、二重引用符 awk を使用する場合:
$ awk "\$1 !~ /.js$/ {print \$1}" files
-bash: !~: event not found
答え1
答え2
あなたは属の何百万人の一つです歴史的拡張は、ユーザーの1000人のうち1人だけが使用しましたが、デフォルトで有効になっています。
set +H
シェル起動ファイルでこれを有効または無効にするのが最善ですset +o histexpand
。これにより、!
奇妙な問題なく使用できます。