[解決済み] ファイル内の複数行のパターンを検索するにはどうすればよいですか?
2022-05-11 12:08:11
質問内容
特定の文字列パターンを含むすべてのファイルを検索する必要がありました。最初に思いつく解決策は 見つける でパイプした xargs grep :
find . -iname '*.py' | xargs grep -e 'YOUR_PATTERN'
しかし、複数行にまたがるパターンを見つける必要がある場合、vanilla grepは複数行のパターンを見つけることができないので、困ってしまいます。
どうすればいいですか?
そこで、私は pcregrep の略です。 Perl 互換正規表現 GREP .
Mオプションを使用すると、行の境界をまたぐパターンを検索することができます。
例えば、ファイルを検索する際に、' 名前 ' 変数の後に、次の行で ' 説明文 ' 変数を使用します。
find . -iname '*.py' | xargs pcregrep -M '_name.*\n.*_description'
ヒント: パターンに改行文字を含める必要があります。プラットフォームによっては、' \n', '\r', '\rn', ...となる場合もあります。
関連
-
TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み] Linuxでデータファイルから最初の列(実際には行名)を削除する方法は?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Gitの履歴からコミットしたコードをgrep(検索)する方法
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] Linux/Unixで$PATHを永久に設定する方法 [終了しました].
-
[解決済み] 特定のファイル/フォルダを除外してディレクトリをtarするシェルコマンド
-
[解決済み] grep --exclude/--include構文を使って特定のファイルをgrepしないようにする
-
[解決済み] grepで行番号を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ゼロからLinuxのisoイメージを作る方法(グラフィックチュートリアル)
-
LinuxでSteamをダウンロードしインストールする方法
-
Linux NICがRTNETLINK answersというエラーで起動できない場合、どうすればよいですか?ファイルが存在するか?
-
エラーの解決方法 お客様のバージョンは /bin/bash: java: コマンドが見つかりませんでした。
-
makeの低レベルエラー:セパレータストップがない
-
[解決済み] Unix/Linuxで、ファイルのあるフォルダを別のフォルダにコピーするにはどうしたらいいですか?[クローズド]
-
[解決済み] 出力をファイルや標準出力にリダイレクトする方法
-
[解決済み] grep --exclude/--include構文を使って特定のファイルをgrepしないようにする
-
[解決済み】複数行検索のための正規表現(grep)が必要です【重複
-
[解決済み】grepを使用して複数行にまたがるパターンを見つけるには?