Linux
grep 查找包含長度大於 x 個字元的字元串的文件?
是否可以在目錄中找到長度超過 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