假设有一个包含一些文本的文件,并说我们正在该文本中寻找某个字符串。在该字符串的第一个实例之前,您将如何打印该文件的内容?
4 回答
2
sed '/\(pattern\).*/{s//\1/; q;}'
于 2013-09-27T23:17:30.230 回答
1
使用 sedq命令:
sed '/pattern/q' file
这将打印文件直到pattern找到,然后它将退出其余的处理。
于 2013-09-27T22:30:04.693 回答
0
有很多方法可以做到这一点。例如,您可以使用 grep 的-n选项使其输出行号,提取第一个行号并使用它来指示head从文件中显示给定数量的行:
head -n $(grep -n somestring file | cut -d: -f1 | head -n 1) file
于 2013-09-27T22:30:19.997 回答
0
使用awk
awk '!f; /pattern/ {f=1}' file
打印行 if f=0, if patternfound setf=1
于 2013-09-28T06:06:08.233 回答