pubeAzért nehéz, mert egy sor az egész, először könnyítsd meg a dolgod, és szedd szét a zárójeleknél több sorba, pl.:
sed 's/(/\n(/g' bemenet.txt >kimenet.txt
Ekkor kapsz valami ilyet:
(4.13.3-0ubuntu0.1, automatic), kalarm:i386
(4.13.3-0ubuntu0.1, automatic), libquazip0:i386
(0.6.2-0ubuntu1, automatic), libkleo4:i386
(4.13.3-0ubuntu0.1, automatic), kalgebra:i386
Innen már egyszerű csak a zárójel és vessző utáni részt meghagyni:
sed 's/^.*), \(.*\)$/\1/' bemenet2.txt >kimenet2.txt
Ekkor kapod ezt:
kalarm:i386
libquazip0:i386
libkleo4:i386
kalgebra:i386
Ha zavarnak a sorok végén lévő plusz szóközök, akkor finomíthatod:
sed 's/^.*), \([a-z0-9:]*\).*$/\1/' bemenet2.txt >kimenet2.txt
Ez lesz a kimenet:
kalarm:i386
libquazip0:i386
libkleo4:i386
kalgebra:i386
A GNU grep is tud csoportot behelyettesíteni, de nem könnyű megérteni hogyan is kell, sed ilyen esetben egyszerűbb.