假设有一个文件中包含一些文字,并说我们正在该文本中寻找某个字符串。在该字符串的第一个实例之前,您将如何打印该文件的内容?
答案 0 :(得分:2)
sed '/\(pattern\).*/{s//\1/; q;}'
答案 1 :(得分:1)
将sed与q
命令一起使用:
sed '/pattern/q' file
这将打印文件,直到找到pattern
,然后它将退出剩余的处理。
答案 2 :(得分:0)
有很多方法可以做到这一点。例如,您可以使用grep的-n
选项来输出行号,提取第一行号并使用它来指示head
显示文件中给定数量的行:
head -n $(grep -n somestring file | cut -d: -f1 | head -n 1) file
答案 3 :(得分:0)
使用awk
awk '!f; /pattern/ {f=1}' file
如果发现f=0
设置为pattern
f=1
打印行