假设有一个包含一些文本的文件,并说我们正在该文本中寻找某个字符串。在该字符串的第一个实例之前,您将如何打印该文件的内容?
问问题
166 次
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 pattern
found setf=1
于 2013-09-28T06:06:08.233 回答