Рейтинг:1

Как вырезать файл таким образом?

флаг us

Мне нужно вырезать длинный файл (около 2 миллионов строк) в строке, которая следует за строкой, в которой есть последнее появление слова.

Например, файл может быть:

линия 1
строка 2 
....
слово
шерсть
слово
строка n+2

Этот файл должен быть обрезан при втором появлении слово, поэтому следующие строки строка n+2 (и эту строку тоже) следует опустить.

Проблема в том, что я не знаю заранее количество раз слово появляется в файле.

bac0n avatar
флаг cn
`IFS=: прочитать _
флаг us
@ bac0n Спасибо, это помогло.
Рейтинг:0
флаг cn

Предполагая, что «слово» или текст маркера не появляется ни в одной из строк, предшествующих второму «слову», тогда это должно работать:

awk '{if($0!="word"){print} else {c=c+1;{print} if(c==2){exit}}}' в файле > вне файла

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.