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