Рейтинг:0

Удалить следующую строку после определенного символа

флаг ci

Я хотел бы удалить слово, которое идет после определенного символа в текстовом файле. Например:

.
я
являюсь
Андерс
<<
Благодарить
ты

быть

.
являюсь
Андерс
<<
ты

или же

являюсь
Андерс
ты

Как это возможно? Я могу убрать точки, сказав:

sed 's/\.*//' *.txt

С уважением Андерс

elmclose avatar
флаг cn
В вашем файле всего одно слово в строке?
Andrej Podzimek avatar
флаг cn
`awk 'НАЧАЛО {next_out = 1} {out = next_out; next_out = 1} /^[.]/ {next_out = 0} выход'
Рейтинг:1
флаг hr

Данный

$кошачий файл
.
я
являюсь
Андерс
<<
Благодарить
ты

тогда

$ sed '/[.<]/{n;d;}' файл
.
являюсь
Андерс
<<
ты

и

$ sed '/[.<]/{N;d;}' файл
являюсь
Андерс
ты
Anders Begtorp avatar
флаг ci
Спасибо огромное! Оно работает :-)
Рейтинг:0
флаг cn

Попробуй это:

awk '!flag{print}{flag=($0=="Андерс")? 1:0}' файл

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

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