LINUX.ORG.RU

Как удалить строки из файла(bash)


0

1

Началось с того что мне надо было поменять строки местами

строки такие:

/dev/device/dev-swap,xvda1 (18) /dev/device/dev-disk,xvda2 (19)

т.е надо было заменить swap и xdva1 на disk и xvda2.

в итоге я решил сделать проще

sed -i '19{h;n;p;g}' $FILE sed -i '18{h;n;p;g}' $FILE

У меня получилось 4 строки, последние 2 в том порядке который мне нужен. Вопрос: как удалить две предыдущие, зная их номер ?

$ echo -e «abc\ndef\nbom» | sed -e '2d' abc bom

io ★★ ()
Ответ на: комментарий от io

Если вы имеете ввиду echo -e «abc\ndef\nbom» | sed -e '2d' >> $FILE, то немного не то. ибо текст руками вводить нельзя, его нужно вытащить из файла .

virt121 ()
Ответ на: комментарий от virt121

Как вариант я использую echo `sed '18d' $FILE` >> $FILE но на выходе получается каша. Удаляются все пробелы, хотя вывод после sed 'd18' нормальный

virt121 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.