すべての PHP ファイルで 50 文字を超える単語を検索します

すべての PHP ファイルで 50 文字を超える単語を検索します

find と grep を組み合わせて使用​​して、Web サーバー内で 50 文字を超える単語 (空白を除く任意の文字列) を含むすべての PHP ファイルを検索しようとしています。

私はこのベースを持っています:

find . -name '*.php' -exec fgrep -q '.{50}' {} \; -print

しかし、期待通りに動作しません。

ありがとう

答え1

.は、スペースやタブを含む、改行文字以外のすべてを表します。そのため、正規表現は 50 文字を超える行と一致します。

少なくとも 50 文字の長さの単語を一致させるには、次のようにします。

[^\s]{50}

[^\s]空白文字を除くすべてに一致します。{50}これは、そのような文字 (必ずしも同一ではない) の 50 個のシーケンスが一致することを意味します。

関連情報