如果我有包含
的输入文件statementes
asda
rertte
something
nothing here
我想grep / extract(不使用awk)从开始直到我得到字符串“something”的每一行。我怎样才能做到这一点? grep -B不起作用,因为它需要确切的行数。
期望的输出:
statementes
asda
rertte
something
答案 0 :(得分:2)
它并不完全健壮,但确定-B可以工作......只需使-B计数巨大:
grep -B `wc -l <filename>` -e 'something' <filename>
答案 1 :(得分:0)
你可以使用bash while循环并在你点击字符串时提前退出:
$ cat file | while read line; do
> echo $line
> if echo $line | grep -q something; then
> exit 0
> fi
> done
答案 2 :(得分:0)
head -n `grep -n -e 'something' <filename> | cut -d: -f1` <filename>