Я пытаюсь удалить первые две строки и последние четыре строки из моих текстовых файлов. Как это сделать с помощью Bash?
Как удалить первые две строки и последние четыре строки из текстового файла с помощью bash?
Ответ 1
Вы можете комбинировать tail и head:
$ tail -n +3 file.txt | head -n -4 > file.txt.new && mv file.txt.new file.txt
Ответ 2
Голова и хвост
cat input.txt | tail -n +3 | head -n -4
Sed Solution
cat input.txt | sed '1,2d' | sed -n -e :a -e '1,4!{P;N;D;};N;ba'
Ответ 3
Это самый быстрый способ, который я нашел:
sed -i 1,2d filename
Ответ 4
Вы можете вызвать ex-редактор из командной строки bash, используя следующий пример. Обратите внимание, что здесь используется здесь документ, чтобы завершить список команд ex.
ex text.file << EOF
1,2d
$
-3,.d
x
EOF