string/word 中的 Grep 子串
Grep substrings in string/word
grep
或任何其他 unix 工具有没有办法在字符串中搜索子字符串序列?
澄清一下:
$ grep "substring1.*subrstring2"
substring1_mySubstring2 # OK substrings forming a single string
substring1 substring2 # WRONG substrings are separated`
你可以告诉 grep
寻找 substring1
+ 一些字符 + substring2
:
grep -iE 'substring1\w+substring2' file
请注意使用 -i
忽略大小写,使用 -E
扩展正则表达式覆盖范围(不用 -E
也可以用 \w\+
代替)。
测试
$ cat a
substring1_mySubstring2
substring1 substring2
substring1_and_other_things12345substring2 blabla
让我们看看当中间没有空格时它是如何匹配的:
$ grep -iE 'substring1\w+substring2' a
substring1_mySubstring2
substring1_and_other_things12345substring2 blabla
grep
或任何其他 unix 工具有没有办法在字符串中搜索子字符串序列?
澄清一下:
$ grep "substring1.*subrstring2"
substring1_mySubstring2 # OK substrings forming a single string
substring1 substring2 # WRONG substrings are separated`
你可以告诉 grep
寻找 substring1
+ 一些字符 + substring2
:
grep -iE 'substring1\w+substring2' file
请注意使用 -i
忽略大小写,使用 -E
扩展正则表达式覆盖范围(不用 -E
也可以用 \w\+
代替)。
测试
$ cat a
substring1_mySubstring2
substring1 substring2
substring1_and_other_things12345substring2 blabla
让我们看看当中间没有空格时它是如何匹配的:
$ grep -iE 'substring1\w+substring2' a
substring1_mySubstring2
substring1_and_other_things12345substring2 blabla