如何在文本中找到空格。使用 grep 吗?

如何在文本中找到空格。使用 grep 吗?

如何grep文本中的一个空格?

cat a.txt| grep ' '

或者

cat a.txt| grep '\s '

答案1

如果您只想在问题中输入一个空格,则可以使用以下命令:

grep -e '^\s[^\s]' -e '[^\s]\s$' -e '[^\s]\s[^\s]' a.txt

或者对于 POSIX 变体:

grep -e '^ [^ ]' -e '[^ ] $' -e '[^ ] [^ ]' a.txt

或者可读性较差的 POSIX 变体:

grep '\(^\|[^ ]\)\ \([^ ]\|$)' a.txt

假设您要排除包含多个相邻空格的行,则明确要求有一个空格,并且前面没有空格,后面也没有空格。

另外,值得注意的是,并非所有版本的 grep 都支持 '\s' 正则表达式控制。

答案2

我想我找到了:

grep  "\+[[:space:]]\+" a.xml

答案3

变体 2 只会找到两个空格。如果您使用'\s'相反的方式,两种变体都可以工作。

您可以轻松地自己测试一下,那么您的实际问题是什么?

相关内容