grep整个非字母数字字符串和非数字

bru*_*lin 1 regex unix bash grep

如果我有:

abc a1b2c3 123
Run Code Online (Sandbox Code Playgroud)

我如何grep不是字母数字字符或数字的整个字符串,以便我得到

abc
Run Code Online (Sandbox Code Playgroud)

我以为我可以将-F旗帜与[^0-9]ie 结合使用

grep -F '[^0-9]' filename
Run Code Online (Sandbox Code Playgroud)

并返回不包含数字的整个字符串 - 但这不会返回任何内容.

有什么建议?

fed*_*qui 5

如果您只想匹配字母词,那些没有任何数字部分的词,请说:

grep -o "\b[[:alpha:]]*\b"
Run Code Online (Sandbox Code Playgroud)
  • \b 匹配单词边缘的空字符串
  • [[:alpha:]]匹配字母字符.也就是说,A-Za-z加上你当地的.

用你的例子:

$ echo "abc a1b2c3 123" | grep -o "\b[[:alpha:]]*\b"
abc
Run Code Online (Sandbox Code Playgroud)