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

Я восстановил частично перезаписанный раздел с помощью testdisk . Если у кого-то такая же проблема, вот решение (используйте testdisk):

  1. Раздел Intel / PC >

  2. Анализируйте >

  3. Быстрый поиск >

    И вот я нашел удаленный раздел [1.8 ТБ]>

  4. Введите, чтобы продолжить >

  5. [Запись] (Записать структуру раздела на диск) >

И теперь раздел отображается, когда я запускаю fdisk -l

После этого я попытался смонтировать его, но он показал ошибку:

«Метаданные, хранящиеся в кеше Windows, отказались монтировать» root @ rescue : / dev # sudo mount / dev / sda3 / mnt Диск содержит нечистую файловую систему (0, 0). Метаданные, хранящиеся в кеше Windows, при монтировании отказались. Не удалось смонтировать '/ dev / sda3': операция запрещена. Раздел NTFS находится в небезопасном состоянии . Возобновите работу и полностью выключите Windows (без перехода в спящий режим или быстрого перезапуска) или смонтируйте том в режиме "только для чтения" с помощью параметра 'ro' mount .

Прочтите еще одну ветку на этом сайте о том, как это исправить: sudo ntfsfix / dev / sda3 и sudo mount -o rw / dev / sda3 / mnt > теперь смонтированный раздел NTFS отображается в папке WinSCP (SFTP) / mnt.

sda3 - это имя восстановленного раздела, оно может содержать другой номер в зависимости от того, сколько у вас других разделов.

2
12.11.2016, 17:33
3 ответа

найдено решение

head -n 50 myfile > tmp
vim tmp # make necessary edits
cat tmp > result
tail -n 50 myfile >> result
# result now contains the edited myfile
-1
27.01.2020, 22:10

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
5
27.01.2020, 22:10

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

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 edited + fileorig.txt в newfile

cat tmp.txt fileorig.txt > filenew.txt

См. filenew.txt, если он вам нравится если что-то пойдет не так, восстановить резервную копию

cp fileold.txt fileorig.txt
-1
27.01.2020, 22:10

Теги

Похожие вопросы