Ответ 1
Как насчет:
sed '$d' < file1.txt | sed "1d"
Я хочу удалить первую и последнюю строку из файла
file1 code:
H|ACCT|XEC|1|TEMP|20130215035845|
849002|48|1208004|1
849007|28|1208004|1
T|2
После удаления выход должен быть
849002|48|1208004|1
849007|28|1208004|1
Я пробовал метод ниже, но должен запустить его 2 раза, я хочу, чтобы одно liner-решение удалялось за один раз!
sed '1,1d' file1.txt >> file1.out
sed '$d' file1.out >> file2
Пожалуйста, предложите один код лайнера....
Как насчет:
sed '$d' < file1.txt | sed "1d"
Вы можете использовать ;
sed '1d; $d' file
В sed вы можете отделить команды с помощью точки с запятой. Например:
sed '1d; $d' /path/to/file
Попробуйте sed -i '1d;$d' /path/to/file
awk 'NR>2{print v}{v=$0}'
Начиная с строки 3, печатайте предыдущую строку каждый раз. Это означает, что первая и последняя строки не будут напечатаны.