перезаписать первые n строк файла

У меня есть текстовый файл 7gb
Мне нужно отредактировать n первых строк этого файла (допустим, n = 50)
Я хочу сделать это следующим образом:

head -n 50 myfile >> tmp vim tmp # make necessary edits substitute first 50 lines of myfile with the contents of tmp rm tmp 

как мне выполнить третий шаг здесь? Также рекомендуется принять более эффективные решения общей проблемы: в этой среде отсутствует GUI

3 Solutions collect form web for “перезаписать первые n строк файла”

man tail говорит:

  -n, --lines=[+]NUM output the last NUM lines, instead of the last 10; or use -n +NUM to output starting with line NUM 

поэтому вы можете сделать

 tail -n +51 myfile >>tmp 

Сделайте резервную копию

 cp fileorig.txt fileold.txt 

скопируйте 50 строк в tmp.txt

 head -n 50 fileorig.txt > tmp.txt 

внести необходимые изменения с помощью vim

 vim tmp.txt 

Чтобы сделать это, сделайте это

Сначала удалите первые 50 строк с помощью sed

 sed -i 1,50d fileorig.txt 

затем cat tmp отредактировал + fileorig.txt в новом файле

 cat tmp.txt fileorig.txt > filenew.txt 

См. Файл filenew.txt, если вам это нравится, если что-то пойдет не так. Bacckup

 cp fileold.txt fileorig.txt 

нашли решение

 head -n 50 myfile > tmp vim tmp # make necessary edits cat tmp > result tail -n 50 myfile >> result # result now contains the edited myfile 
  • Как создать большой файл в UNIX?
  • Более быстрый способ переименовать повторяющиеся файлы (идентифицированные fdupes) в другом каталоге?
  • Как я могу динамически переключать выходной пункт сценария или команды?
  • Как я могу регистрировать, как часто файл изменяется в OS X?
  • Команда Linux для возврата всех файлов, начинающихся с TEMP, но не заканчивающихся двойными цифрами
  • Создайте пять копий файла с тем же номером inode
  • Как я могу удалить все файлы в папку, к которой не было доступа за определенное время?
  • Автоматически определять, когда файл достиг предела размера
  • Добавление символа в имя файла
  • обрезать файл журнала до нуля, пока другой процесс постоянно записывается на него
  • Как узнать, где установлен определенный подкаталог?
  • Linux и Unix - лучшая ОС в мире.