Печать и удаление первой строки файла с помощью `sed`

Я могу напечатать первую строку файла, используя

sed -n 1p file.txt 

Я могу удалить первую строку файла, используя

  • Awk / sed извлекает информацию, когда шаблон соответствует абзацу
  • Как заменить «&» на «& amp;», за исключением того, что уже является частью XML-объекта?
  • Заменить слово после слова с добавочными значениями
  • Заменить «o» на «0» в большом списке слов и сохранить исходное слово?
  • Gedit или другой редактор без командной строки с возможностью проверки орфографии на двух языках одновременно
  • sed: заменить текст строкой, содержащей специальные символы
  •  sed -i 1d file.txt 

    Есть ли способ печати и удаления в sed ? Вид вроде FIFO pop() или shift Perl.

  • Перемещение уникальных файлов из папки с дубликатами файлов
  • Стирание в stdin всех экземпляров регулярных выражений, определенных в файле
  • Найти файлы, для которых несколько вариантов этого имени файла существуют вместе в одном каталоге
  • Согласование нескольких шаблонов на одной строке
  • Разница между файлами в каталоге
  • Повторно распечатать массив в определенном формате?
  • 2 Solutions collect form web for “Печать и удаление первой строки файла с помощью `sed`”

    Вы можете использовать команду w для записи некоторых строк в другой выходной файл. В Linux и во многих других вариантах unix /dev/stdout – это стандартный вывод программы, который не там, где sed пишет с опцией -i . Если в вашей системе нет /dev/stdout или такой вариант, как /dev/fd/1 , вы можете написать именованный канал.

     sed -i -e '1 w /dev/stdout' -e '1d' file.txt 

    К сожалению, это невозможно. По сути, вы просите вывод sed из двух разных мест: вы хотите, чтобы первая строка была напечатана на stdout sed, а остальные строки были помещены обратно в файл. Но вывод sed может идти только в одном месте (по умолчанию он переходит в stdout , и если вы укажете опцию -i она вернется в файл).

    К счастью, я не вижу недостатков в работе двух команд отдельно.

    Linux и Unix - лучшая ОС в мире.