grep rexExpでアポストロフィを使用する

grep rexExpでアポストロフィを使用する

私は最近regExpを学び始め、grepを使ってアンカータグURLだけを抽出するシェルで良い例を見つけました。<a href="unix.stackexchange.com"></a>

grep - 'href="[^"]*"' *.html

私が正しく得れば'href="[^"]*"'見つかったという意味ですが、href="0-infinity character that does not have " in it "必ずしも*引用符の外にあるわけではありません。

混乱しています。' '文字の特別な意味を脱出するために使用されます。したがって、*まったく機能しないでください。 +は*.html= .htmlで終わることを意味する必要があります0-infinte characters。 =では、1つのgrepに2つのragExpsを持つことはできますか?

答え1

まず、出力は次のようになります。

% grep -o 'href="[^"]*"' <<<'<a href="unix.stackexchange.com"></a>'
href="unix.stackexchange.com"
  • 正規表現パターンはでありhref="[^"]*"、シェルで解釈されないように単一引用符内に配置されます。

  • *.htmlgrepRegex/ 操作を実行するファイルです。これは*、現在のディレクトリ内のすべてのファイルが次に終わるシェルファイル名生成パターン(文字数と一致)です。.html

  • href="文字通り一致

  • [^"]*nextまでの部分文字列を一致させて"*のトークンのゼロ以上の発生と一致するため、[^"]2つの間に文字がない場合は空の"文字列が生成されます。

  • "テキストマッチ"

関連情報