Показать последние n строк, а затем отобразить остальные:
tail -n 4 file; head -n -4 file
С man head
:
-n, --lines = [-] NUM
печатать первые NUM строки вместо первых 10; с начальным символом «-» выведите все NUM строки каждого файла, кроме последних
tail -n 4
отобразит последние 4 строки файла.
Если вы хотите передать эти данные, вам нужно соединить их так:
( tail -n 4 file; head -n -4 file ) | wc
Или, может быть, вы можете использовать vim для редактирования встроенного файла:
vim +'$-3,$m0' +'wq' file
Опция +
для vim будет запускать команду (Ex), следующую за ней. $-3,$m0
означает перемещение строк между 3 строками над последней и последней строкой в начале файла. Обратите внимание, что между +
и командой не должно быть пробела.
Или используя команды в обычном режиме vim:
vim +'norm G3kdGggPZZ' file
G
перейти к концу файла; 3k
продвинуться на 3 строки вверх; dG
удаляет до конца файла; gg
перейти в начало файла; P
вставляет удаленные строки перед этой строкой; ZZ
сохраняет и выходит.