如何使用grep命令显示只有空格字符的行?

时间:2013-12-05 14:49:28

标签: unix

我有一个名为test01的文件,它目前包含:

1  Line one.$
2    This is the second line. $
3       The third  $
4  $
5    This    is    really line 4,  with one         blank line before. $
6  $
7  $
8   $
9  Five$
10  $
11 Line 6 is this.
12     Seven $
13 $
14 Eighth real line. $
15 $
16 $
17   Line 9 $
18     Line   10   is   the  last$
19 $
20                      $ 

我需要编写一个grep命令,它只输出包含空格字符的行。它不应该输出4或6行。所需的输出应该是第8,10和20行。我已经尝试了grep -vn '[a-z,A-Z,0-9]' test01但是我得到了不包含字符的行。

2 个答案:

答案 0 :(得分:1)

使用模式^ +$

grep -E '^ +$' filename.txt

如果您想获得行号,请使用-n

$ egrep -E -n '^ +$' filename.txt
8:
10:
20:

答案 1 :(得分:0)

grep -n "^ +$" test01

^表示“行以”开头,然后是带有+符号的空格,表示“一个或多个空格”,然后$表示行结束。因此,它只与 空格

匹配