获取以若干空格开头并后跟特定字符的行

时间:2018-07-18 15:01:20

标签: regex grep

我的 sample.txt 的内容如下:

host$ cat sample.txt
     start from several spaces
start from a-z
    the first ch is t

现在,我想获得以多个空格开头且后跟字符 s 的行。那就是说我想得到第一行。 当我使用命令时:

grep ^[[:space:]]

我可以使行以空格开头,即第一行和结束行。但是,当我将此命令更改为grep ^[[:space:]]s时,我什么也没得到。

2 个答案:

答案 0 :(得分:0)

使用POSIX grep:

grep '^[[:space:]][[:space:]][[:space:]]*s' file

使用awk

awk '/^[[:space:]][[:space:]]+s/' file

答案 1 :(得分:-1)

$ grep -E '^[[:space:]]{2,}s' file
     start from several spaces