単一行に制限されていないディレクトリを介して、単純な正規表現検索を再帰的に実行したいと思います。
Grepとackを試しましたが、どちらもこれをサポートしていないようです。
私が選んだテキストエディタ( Sublime Text )で問題なく実行できるので、(私の場合は)計算コストがかかりすぎないようにする必要があります。
これの単純なコマンドラインバージョンを探しています。 Googleは pcregrep になりましたが、Macではそれが見つからないようです。私はちょうど正しい場所を探していませんか?
Homebrewをインストールしてから:
brew install pcre
これにより、最新のpcregrep
が提供されます
あなたはあなたが探しているものを正確に言っていなかったので、改行を無視して、ファイルに112の後に223が含まれているかどうかを調べるタスクを想像します。
少し工夫されたawk
ソリューション:
awk -vRS='' '/112.*223/ { print "found it"; exit }' file.in
RS
変数には、レコード区切り文字が含まれています。空の文字列に設定すると、ファイル全体が1つのレコードとして読み取られます。
これは、大きなファイルではおそらくメモリ効率が非常に悪くなります。
ちなみに、私はこれをOpenBSDで行っていますが、OS Xawkも同じように機能するはずです。
「pcregrep」は、古い安定版pcregrep
と新しいpcre2grep
を指す場合があります。どちらも pcre.org
のPCREプロジェクト によって提供されます。
Mac Ports は、前者をポートpcre
(バージョン8.40で安定)の一部として提供し、後者をポートpcre2
(現在のバージョン10.22)の一部として提供します。経由でインストール:
% Sudo port install pcre2