Linux

grep 查找包含長度大於 x 個字元的字元串的文件?

  • September 16, 2016

是否可以在目錄中找到長度超過 x 的字元串(沒有空格)的文件?

我認為自己是一個正則表達式菜鳥,但我創建了一堆帶有可變長度字元串的文件,我想我得到了你想要的,試試這個:

user@host$ grep -e '[^\ ]\{7,\}' *


對於那些不太了解這一點的人:

-e使用正則表達式進行 grep 搜尋。 [^\ ]表示匹配除空格以外的單個字元。 \{7,\}表示匹配 7 個或更多字元的字元串。如果您要在後面加上另一個數字,它將是 7 到 x 個字元之間的字元串。

我無法讓上面的範例正常工作。我在 CSV 文件中搜尋超過 10000 個字元的行。我搞砸了很多,得到了這個……查找長度超過 9999 個字元的行……

grep -a -e '[^\ ]\{9999,\}' *.csv >../my-file.csv

而這正是我真正需要的。CSV 文件中的行數少於 10000 個字元。查找少於 9999 個字元的行

grep -a -v -e '[^\ ]\{9999,\}' *.csv >../my-file.csv

引用自:https://serverfault.com/questions/107958