У меня есть 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
, будет правильным курсом действий, но любое решение, которое я может запускаться из командной строки.
Согласно комментариям и дальнейшим исследованиям, вот что в итоге сработало для меня
sed -i '/^foo/,$!d' path/to/file
Это напечатает все, что находится после foo, включительно:
sed -n '/foo/,$p' file
Вы можете перенаправить его в другой файл или добавить параметр -i, чтобы перезаписать файл