私はbashでgrepを使って文字列 "-1"を検索しています。
通常このように「バー」を検索します...
glaucon@foo $ grep -irn "bar"
...これはうまくいきますが、「-1」を検索しようとすると、次のような結果が表示されます。
glaucon@foo $ grep -irn "-1"
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
...マイナス記号が特殊文字であると思いましたが、そうでないようです。私もこれが私が慣れていない正規表現のいくつかの側面である場合に備えて、「固定文字列」オプションを試しました。
glaucon@foo $ grep -irnF "-1"
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
...しかし、示されているように、これも出力を提供しません。
明らかに簡単ですが…何?
ありがとう
答え1
-
オプションで、バックスラッシュを使用してダッシュをエスケープできます\
。
grep -irn "\-1"
オプションの終わりを示すために2つのダッシュを追加します(@steeldriverが提案したように)。
grep -irn -- "-1"
または、-e
「次の引数はモードです」と明示的に言います。
grep -irn -e "-1"