我正在嘗試將 find 與 grep 結合使用來查找我的 Web 伺服器中包含超過 50 個字元的單字(除空格之外的任何字元序列)的所有 php 檔案。
我有這個基礎:
find . -name '*.php' -exec fgrep -q '.{50}' {} \; -print
但沒有如預期工作。
謝謝
答案1
.
代表除換行符之外的所有字符,包括空格和製表符。這就是為什麼您的正規表示式將匹配長度超過 50 個字元的行。
要匹配長度至少為 50 個字元的單字,您可以使用如下所示的內容:
[^\s]{50}
[^\s]
匹配空白字元以外的所有內容。{50}
表示將符合 50 個此類(不一定相同)字元的序列。