... и с sed
:
Как указано @ Барамин : минимальное количество для ввода sed '1d;$d'
, вот как это работает:
По номеру строки
sed -i'' -e '1d' -e '$d' yourfile
1d
удаляет первую строку $d
удаляет последнюю строку.
Или по шаблону
sed -r -i -e '/^[0-9] [0-9]{8} HEADER RECORD$/d' \
-e '/^[0-9] [0-9]{8} TRAILER RECORD$/d' yourfile
-r
требуется для{8}
расширенное регулярное выражение.
Или оба
Если вы супер педантичны и хотите покрыть свою задницу самым жутким способом:
sed -r -i.bak -e '1{/^[0-9] [0-9]{8} HEADER RECORD$/d}' \
-e '${/^[0-9] [0-9]{8} TRAILER RECORD$/d}' yourfile
-i''
изменит yourfile
на месте.Удалите его, если вы хотите сохранить вывод в другом файле (например, с > outputfile
в конце вашей строки).