Описание тега pandemic-legacy-season-2
Если вы хотите, чтобы все, но первые N-1 строк, назвать хвост
с количеством линий +Н
. (Число-номер первой строки, которую вы хотите сохранить, начиная с 1, т. е. +1 означает начать сверху, +2 значит пропустить одну строку и так далее).
хвост -П +3 foo.txt >>другой-документ
Там нет легкий, портативный способ, чтобы пропустить последние n строк. ГНУ головка
позволяет руководитель -Н +Н
, как аналог хвоста -Н +Н
. В противном случае, если у вас есть КДЛ
(например, GNU или busybox), вы можете объединить его с хвоста:
ТАС | хвост -П +3 | оду
Портабельно, вы можете использовать фильтр на awk (непроверенных):
на awk -vskip=2 '{
линии[ШП] = $0;
если (кол > пропустить) линии печати[ШП-пропуск];
удаление строк[НР-пропуск];
}'
Если вы хотите удалить последние несколько строк из большого файла, вы можете определить смещение байта кусок, чтобы усечь выполните усечение с ДД
.
итого=$(умывальник, туалет -с < /файла/с/усечь)
ЧОП=$(хвост -н 42 /файл/с/усечение | туалет -с)
ДД, если=/dev/нуль=/файл/на/усечь искать=1 БС="$((итого-ЧОП))"
Вы не можете усечь файл в место в начале, хотя если вам надо удалить первые несколько строк огромный файл, вы можете переместить содержимое вокруг.