LINUX.ORG.RU

Объединить 2 sed

 ,


0

1

Есть код:

prt-cache "$mode" "$@" --test "${ignore[@]}" "${install_root[@]}" 2>"$DEV/null" \
    | sed -nr '/^-- Packages (in|u|r)/,/^($|\*)/p' \
        | sed '/^\($\|--\|\*\)/d'
Как 2 sed'а объединить в одну команду?
Пример вывода prt-get:
> prt-get update bash openssh --test
*** prt-cache: test mode

-- Packages updated
bash
openssh

prt-get: updated successfully

*** prt-cache: test mode end
Нужно оставлять только строки
bash
openssh

★★★★★
$ cat /tmp/1.txt
*** prt-cache: test mode

-- Packages updated
bash
openssh

prt-get: updated successfully

*** prt-cache: test mode end

$ sed -e '1,/-- Packages updated/d; /^$/,$d' /tmp/1.txt
bash
openssh
suncon
()
Последнее исправление: suncon (всего исправлений: 1)
Ответ на: комментарий от suncon

sed -e '1,/-- Packages updated/d; /^$/,$d' /tmp/1.txt

Благодарю, работает!
А что означают запятые? Что означает $ перед d? Как читать команду седа с таким количеством '/' ?

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

А что означают запятые? Что означает $ перед d? Как читать команду седа с таким количеством '/' ?

Ответы на все эти вопросы есть здесь

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