Удалить строки из обратного сопоставления с шаблоном

У меня есть CSV-файл, который мне нужно проанализировать, но первые n строк этого файла бесполезный мусор.

К счастью, я знаю, что правильная строка заголовка начинается с foo , и что каждая строка до первого появления foo в позиции 0 может быть удалена.

tl; dr Как мне заставить это

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 , будет правильным курсом действий, но любое решение, которое я может запускаться из командной строки.

0
10.08.2016, 17:13
2 ответа

Согласно комментариям и дальнейшим исследованиям, вот что в итоге сработало для меня

sed -i '/^foo/,$!d' path/to/file
0
28.01.2020, 02:34

Это напечатает все, что находится после foo, включительно:

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

Вы можете перенаправить его в другой файл или добавить параметр -i, чтобы перезаписать файл

2
28.01.2020, 02:34

Теги

Похожие вопросы