Как удалить строки в файле с определенной позиции до конца файла

У меня есть файл со многими строками.

Я хочу удалить из строки 1458 в конец файла. Я думаю, что я могу сделать это с помощью sed , но я не знаю, как это сделать.

3 Solutions collect form web for “Как удалить строки в файле с определенной позиции до конца файла”

 sed '1458,$d' 

Вы можете использовать это с помощью -i для редактирования файла на месте, если это необходимо.

например

 sed -i '1458,$d' filename.txt 

Есть много возможностей сделать это, но если файл очень большой, лучше прекратить обработку любых строк после заданной позиции и просто выйти. Это именно то, что команда q предназначена для sed :

 sed 1458q file 
 $ head -n 1458 myfile > myfile.tmp ; mv myfile.tmp myfile 

Боковое примечание. Насколько я знаю, нет четкого способа сократить файл (в bash / shell и т. Д.) В зависимости от количества строк, что не связано с созданием первого файла (это то, что sed или sed -i (n место).) Это имеет значение, если оставшееся место на диске недостаточно для размещения вновь написанного файла. В этом случае, если вы можете грубо догадаться о размере нового файла, truncate -s {number of bytes} myfile отключит конец файла, не создавая новый.

  • Как заполнить файл потоком из / dev / urandom с указанным числом строк?
  • Переименовать все пробелы в именах файлов изображений внутри html php-файлов
  • сценарий оболочки для извлечения символов
  • Замените в верхнем регистре на нижний регистр, кроме первой буквы каждого слова в определенной строке
  • Соедините каждую строку файла с определенной переменной во второй команде
  • Группировать по и сумме в сценарии оболочки без awk
  • цикл через выход одной команды и использовать в другой команде
  • чтение списка строк из файла, записывающего вывод в утилиту
  • замените '_' на ',' в файле, который содержит список имен файлов
  • Как удалить все числа, окруженные <>
  • Сортировка одного файла по строке на основе другого файла
  • Linux и Unix - лучшая ОС в мире.