使用grep以递归方式搜索任何特定长度的字符串,不带空格

时间:2017-05-07 20:40:59

标签: regex bash ubuntu grep

我正在尝试搜索任何超过200个字符的字符串,中间没有任何空格字符。

我尝试了多种选择,但似乎没有任何效果。

例如

grep -r '.{200,}' /directory/sub-directory/

grep -r '[^\s.]{200,}' /directory/sub-directory/

2 个答案:

答案 0 :(得分:1)

{n,m}说明符需要扩展的正则表达式(grep -E),如果你想要除空格之外的任何东西,[^ ]应该这样做。此外,“超过200”与“至少201”相同,所以:

grep -rEe '[^ ]{201,}' path

答案 1 :(得分:1)

grep -o -E '\S{200,}' -r /directory

  • -o只返回匹配的字符串而不是整行
  • \ S将匹配任何非空白

你已经休息了