find と grep を組み合わせて使用して、Web サーバー内で 50 文字を超える単語 (空白を除く任意の文字列) を含むすべての PHP ファイルを検索しようとしています。
私はこのベースを持っています:
find . -name '*.php' -exec fgrep -q '.{50}' {} \; -print
しかし、期待通りに動作しません。
ありがとう
答え1
.
は、スペースやタブを含む、改行文字以外のすべてを表します。そのため、正規表現は 50 文字を超える行と一致します。
少なくとも 50 文字の長さの単語を一致させるには、次のようにします。
[^\s]{50}
[^\s]
空白文字を除くすべてに一致します。{50}
これは、そのような文字 (必ずしも同一ではない) の 50 個のシーケンスが一致することを意味します。