問題タブ [pcregrep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - ファイル内の複数行パターンを検索するにはどうすればよいですか?
特定の文字列パターンを含むすべてのファイルを見つける必要がありました。頭に浮かぶ最初の解決策は、 xargs grepでパイプされたfindを使用することです。
しかし、複数行にまたがるパターンを見つける必要がある場合、バニラの grep は複数行のパターンを見つけることができないため、行き詰まります。
regex - コマンドラインでの複数行の文字列の一致: パターンが一致する場合は特定の行を返し、そうでない場合は空の文字列を返します
私が持っているコマンドの出力は、「成功」の場合、次の形式になります。
ただし、このコマンドが次のようなものを出力する可能性があります (「失敗」):
または、これ(別の「失敗」):
最初の例では、次のように出力します。
他の 2 つの例では、空の文字列を出力したいと思います。
私はこれを試しました.3番目の例ではうまくいきました:
しかし、最初の 2 つの例では、次のように出力されました。
私は何をすべきか途方に暮れています。/ > -------
上記の私の正規表現は、先頭に一致するがそれをキャプチャするのではなく、改行で終わる別の行が続いていない場合にのみ次の行に一致する試みでした。この問題を解決する以外のものを使用しても問題ありませんが、またはpcregrep
でこれを表現することはできません。Python を使用しますが、私のニーズには遅すぎます。何か助けはありますか?awk
sed
bash - pcgrep -M を使用して複数行の文字列を検索する
pcregrep -M
複数行の文字列を検索するために使用しようとしています。
これは私のスクリプトの行です:
myFile
次の形式の複数の行が含まれています。
空の文字列を取得し、lineNumber
それだけです。
私は何を間違っていますか?
戻り値には何が期待できますか? -n
行番号を教えてはいけませんか?もしそうなら、最初と2番目のどちらの行番号ですか?
awk
代わりにorを使用する必要がsed
ありますか?
regex - pcgrep マッチングは最初の出現で停止します
「pcregrep」を使用して UNIX で複数行検索を実装しています。1回目でマッチングを止めたい。
たとえば、ファイルに以下のテキストがある場合:
「name」の後に「ain」が最初に出現するまで印刷したい。だから私は印刷する必要があります:
私は実行しています:
ただし、出力は次のようになります。
regex - 1 つの pcre 式で一致する 3 つ以上のタイトル ケース ワード
3 つ以上のタイトル ケースの単語で構成される文字列に一致するが、小文字で始まる単語を含む文字列には一致しない単一の pcre (ver. 3.85) 互換の正規表現を探しています。例えば:
試した
成功しませんでした。
ヒントはありますか?
regex - 任意のコンテンツが 1 行含まれる複数行パターン
htm ファイル内の 3 行の複数行パターンの出現をカウントする必要があります。問題は、行 1 と 3に修正内容があることですが、行 2の内容は修正されておらず、変更される可能性があります (ファイルはログです)。これが私が意味することの例です:
解決策を検索しましたが、100% 適切な解決策が見つかりませんでした...pcregrep
うまくいくはずですが、行 2 の変更を含めるにはどうすればよいですか? これまでのところ、2 つの修正行しか探すことができません。ここではコード自体が問題ですが、出力は非常に使いやすいです。
または、sed
代わりに使用する必要がありますか?コードは機能しますが、出力は複雑です。この複数行パターンの出現回数をカウントするにはどうすればよいですか? 1 行目と 3 行目の間には 1 行しかないため、これは重要です。
あなたが私を助けてくれることを願っています。どうもありがとうございました!
regex - pcregrep を使用して文字列が繰り返される長いファイルをチェックする方法
これは私の最初の投稿です。ここは素晴らしい場所であり、私を大いに助けてくれます !
だから私はpcgrepを使っていて、自分のパターンでファイルをキャッチしたいと思っています。次のような正規表現に変数を使用しています。
次に、ファイルを検索します。
test.sh (私が使用している bash ファイル) と、一致させたい *.php1 ファイルをここで見つけることができます: http://sendrev.com/stackoverflow/
sh test.sh を実行すると、常に行が検索されます (使用しているため、色で表示されました--colour=auto
)。
(またはその他ですが、ファイルの終わりは表示されません)
それ以上の行を一致させることができず、その理由がわかりません。最後の行を次のようなものと一致させたい:
また
しかし、私はその行に行くことはできません。"));\?>" を "test" 変数の末尾に追加すると、最後の行に移動できないため、何も見つかりません。
!!! 重要なのは、行'.*'.
がすべてよりもはるかに少ない場合は問題ないということです。理解できない制限があるようです。
CentOS またはその他の Linux ディストリビューションがある場合は、テストできます。
私の方から間違い探しを手伝っていただけないでしょうか?ありがとう。