Для записи, с помощью ed
вы можете сделать что-то вроде
ed -s infile <<\IN
0r !tail -n 1000 infile
+1,$d
,p
q
IN
Это открывает infile
и r
вводит вывод tail -n 1000 infile
(т.е. вставляет этот вывод перед 1-й строкой), а затем удаляет то, что изначально было 1-й строкой, до конца файла. Замените , p
на w
, чтобы отредактировать файл на месте.
Имейте в виду, что решения ed
не подходят для больших файлов.