Удалить первую строку из файла с помощью Bash

Метод 1: использование sed
Вы можете использовать команду sed, чтобы удалить первую строку файла и сохранить измененное содержимое обратно в тот же файл. Этого можно добиться следующей командой:

sed -i '1d' filename

Объяснение:

  • sed: команда редактора потока.
  • -i: возможность редактирования на месте для непосредственного изменения файла.
  • 1d: удаляет первую строку файла.

Метод 2: использование tail
Команду tailможно использовать для отображения содержимого файла, пропуская указанное количество строк. Перенаправив вывод tailво временный файл, а затем заменив исходный файл, вы можете эффективно удалить первую строку. Вот пример:

tail -n +2 filename > temp && mv temp filename

Объяснение:

  • tail: отображает последнюю часть файла.
  • -n +2: указывает, что отображение начинается со второй строки (пропуская первую строку).
  • >temp: перенаправляет вывод во временный файл с именем «temp».
  • &&: гарантирует успешное выполнение первой команды (tail) перед продолжением.
  • имя временного файла mv: переименовывает временный файл в исходное имя.

Метод 3: использование awk
Команду awkтакже можно использовать для удаления первой строки из файла. Вот пример:

awk 'NR>1' filename > temp && mv temp filename

Объяснение:

  • awk: универсальная команда для обработки текста.
  • 'NR>1': указывает на печать всех строк, кроме первой.
  • >temp: перенаправляет вывод во временный файл.
  • &&: гарантирует успешное выполнение первой команды (awk) перед продолжением.
  • имя временного файла mv: переименовывает временный файл в исходное имя.