cat 文件中“KEYWORD”之后的所有行

cat 文件中“KEYWORD”之后的所有行

我有一个文件,第 n 行有一个“KEYWORD”。如何打印从第 n+1 行开始到结束的所有行?

例如,在这里我只想 pro=int 行 DDD 和 EEE

AAA
BBB
CCC
KEYWORD
DDD
EEE

答案1

您可以通过以下方式执行此操作sed

sed '1,/^KEYWORD$/d'

这将删除(省略)从流开头到“KEYWORD”(含)的所有行。

答案2

另一种选择可能是grep与标志结合使用-A,例如

grep -A10000 KEYWORD file

其中10000只是一个大数字,表示直到文件末尾的行数,这对于您的实际日常使用来说应该足够了。

否则,您可以使用文件中的行数作为参数,如下所示

grep -A$(wc -l file | cut -d' ' -f1) KEYWORD file

但这很可能是矫枉过正(而且并不比给定的替代方案更容易记住sed

答案3

使用 sed,从 KEYWORD 匹配打印到文件末尾,然后使用 tail 删除 KEYWORD 行。

sed -n '/KEYWORD/,$p' file | tail -1

相关内容