Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 在第一场比赛后删除线_Search_Awk_Text_Remove - Fatal编程技术网

Search 在第一场比赛后删除线

Search 在第一场比赛后删除线,search,awk,text,remove,Search,Awk,Text,Remove,我需要删除包含单词“fox”的第一行之后的所有行 比如说下面的输入文件“in.txt” 结果将是 The quick brown fox jumps 我更喜欢用awk或sed编写的脚本,但任何其他命令行工具都很好,比如perl、php或python等 出于搜索目的,我将添加以下行: 发生后删除行 稍后编辑: 我在Windows中使用gnuwin32工具,我能找到的解决方案是: grep -m1 -n fox in.txt | cut -f1 -d":" > var.t

我需要删除包含单词“fox”的第一行之后的所有行

比如说下面的输入文件“in.txt”

结果将是

The quick
brown fox jumps
我更喜欢用awk或sed编写的脚本,但任何其他命令行工具都很好,比如perl、php或python等

出于搜索目的,我将添加以下行:

发生后删除行

稍后编辑:

我在Windows中使用gnuwin32工具,我能找到的解决方案是:

grep -m1 -n fox in.txt | cut -f1 -d":" > var.txt
set /p MyNumber=<var.txt
head -%MyNumber% in.txt > out.txt
grep-m1-nfoxin.txt | cut-f1-d“>var.txt
set/p MyNumber=out.txt
但是,我正在寻找一种更短、可移植的解决方案(此解决方案包含Windows特定的命令“set/p”

类似问题:

使用GNU时:

sed '0,/fox/!d' file


我在Windows中发现了一些使用grep、head和变量的东西,我在问题文本中添加了它作为研究,但应该有更好的解决方案,我猜这些脚本工作得很好,在单词的最后一个匹配后删除行如何?我要问另一个问题吗?另一个问题:在匹配后删除行如何,包括匹配行?在上面的示例中,只打印第一行-“快速”是的,我建议开始一个新问题。很好,我在这里开始了这个问题-这应该可以完成任务:
awk'NR==FNR{if(/fox/)hit=NR;next}FNR==hit{exit}{print}文件
这是对的一个小修改。
awk '{print} /fox/{exit}' file
sed '0,/fox/!d' file
sed -n '0,/fox/p' file