1

Мне нужно удалить каждую 3-ю и 5-ю строку, кроме 15-й строки в текстовом файле, используя sed. У кого-нибудь есть идея?

2 ответа2

3

Попробуйте следующую команду. Вам понадобится GNU-версия sed:

sed '15 b ; 0~3 d ; 0~5 d' infile

Сначала проверьте, является ли строка 15-й: напечатайте и прочитайте следующую. В противном случае удалите каждую 3-ю строку и каждую 5-ю строку, начиная с первой.

2

Это очень легко, если вы используете awk:

$ awk '(NR%3 && NR%5) || NR==15' input.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .