ssh1% cat temp
sarah
saab
marrrrrrrrra
marrrrrrrtha
ssh1% grep ar*a temp
grep: No match.
これは出力ではないはずですか?
sarah saab marrrrrra
Windows 10でputtyとnxclientを使用しようとしています。
ベストアンサー1
を使用しています。をcsh
確認し*
、次に展開しようとします。シェルボールそして失敗しました。つまり、csh
ここで言うのは「不一致」ではなく「不一致」ですgrep
。同じではないByrne ファミリーシェル、csh
拡張不可能なグローバルパターンはコマンドに渡されないので、これを参照csh
してくださいgrep
。
そうしたくないので、ここでは一重引用符を使用することをお勧めします。入れる変数を文字列に入れます。
% grep 'ar*a' temp
sarah
saab
marrrrrrrrra
この場合、パターンに二重引用符が含まれていないため、二重引用符も機能します$
が、とにかくここでは一重引用符を使用することをお勧めします。引用符を反交換的に使用できる言語(シェル、Perlなど)では、どの引用符を使用するかを慎重に検討することが開発する価値がある習慣です。ここでは文字列補間は必要ありませんので、これを許可する引用スタイルを使用しないようにします。
しかし、BourneシェルファミリでもREモードを呼び出す必要があります。 Mike Wagnerが上記のコメントで示唆したように、正規表現とグローバルパターンのため同じ特殊文字をたくさん使用してください。、時にはREパターンを書くこともできます発生するまた、特定のファイルと一致するため、誤ってシェルによって拡張されます。