从模式匹配中向后删除行

从模式匹配中向后删除行

我有一个需要解析的 CSV 文件,但n该文件的第一行是毫无价值的垃圾。

幸运的是,我知道正确的标题行以 开头foo,并且每一个foo位置 0第一次出现之前的行可以删除。

太长了;博士我该怎么做这个

an unknown
number of lines
with worthless junk
that's breaking
my CSV parsing
foo,this,is,the,header,line,always,starts,with,foo
[ legit records to follow ]

变成这样

foo,this,is,the,header,line,always,starts,with,foo
[ legit records to follow ]

我期望sed- 驱动的响应是正确的行动方案,但我可以从命令行运行的任何解决方案都足够了。

答案1

这将打印 foo 之后的所有内容,包括:

sed -n '/foo/,$p' file

您可以将其传输到另一个文件或添加 -i 参数来重写您的文件

答案2

根据评论和进一步的研究,这就是最终对我有用的方法

sed -i '/^foo/,$!d' path/to/file

相关内容