Решение RavinderSingh13 приятно и использует sed
с флагом -n
для подавления автоматической печати пространства шаблона.Если вы не хотите использовать этот флаг, вы можете использовать метку и оператор sed-goto:
sed '6b;8b;15b;d;' file
По сути это означает:
6b
Если я нахожусь на линии 6, переход к концу 8b
Если я на линии 8, переход к концу 15b
Если я в строке 15, переходите к концу d
Если я еще не выполнял ответвление, удалите пространство шаблона и начните следующий цикл
В этом случае, в отличие от использования флага -n
, пространство шаблона всегда печатается в конце цикла.
Если вы хотите использовать awk
,Вы можете сделать:
awk '(FNR==6) || (FNR==8) || (FNR==15)' file