Ответ 1
sed -i '$ d' filename
. Флаг -i
редактирует файл на месте.
Я видел примеры sed
, но независимо от того, как я пишу, что он не удалит мою первую строку. На самом деле, я сделал больше тестов, и он тоже не удалит мою первую строку, так что, конечно, я делаю что-то неправильно:
sed '1d' filename
или для последней строки
sed '$d' file name
Я хочу, чтобы изменения происходили в одном файле и не нужны другие выходные файлы. Итак, пожалуйста, какой правильный способ удалить последнюю строку в моем файле?
sed -i '$ d' filename
. Флаг -i
редактирует файл на месте.
Вы можете использовать переключатель --in-place
(-i
):
sed -i '$d' filename
Источник: man sed
Здесь вы идете! удалить первую строку
sed '1,1d' file1 >> file1.out
удалить последнюю строку/строку
sed '$d' file2 >> file2.out
Если ваше sed поддерживает редактирование на месте, оно sed -e '1d' -e '$d' -i filename
.
Потому что никто не дает ей любви:
ed filename <<'END'
1d
$d
w
q
END
Предоставление этого ответа, так как sed
не помечено.
head -`wc -l test2.cc | awk '{print ($1-1)}'` test2.cc
Попробуйте cat file1 | sed "1,1d; $d" > file2