Command-Line
從模式匹配中向後刪除行
我有一個需要解析的 CSV 文件,但
n
該文件的第一行是毫無價值的垃圾。幸運的是,我知道正確的標題行以 開頭
foo
,並且在位置 0第一次出現之前的每一foo
行都可以刪除。tl;博士我怎麼做這個
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
響應是正確的行動方案,但我可以從命令行執行的任何解決方案都足夠了。
根據評論和進一步研究,這就是最終對我有用的方法
sed -i '/^foo/,$!d' path/to/file
這將列印 foo 之後的所有內容,包括:
sed -n '/foo/,$p' file
您可以將其通過管道傳輸到另一個文件或添加 -i 參數以重寫您的文件