Eu proponho que isso não é possível de maneira prática. Não com a sua lista.
O problema de cortar os números, ou apenas selecionar o texto, ou qualquer versão do kink com a qual você deseja se identificar, hifens e números são caracteres perfeitamente válidos no pacote nomes . Execute dpkg -l | awk '$2~/-[0-9]/'
. Eu vejo ~ 622 tais pacotes no meu desktop 14.04. E não, esses não são os números completos da versão.
Vamos ver alguns openjdk
packages:
openjdk-6-jre:amd64 6b37-1.13.9-1ubuntu0.14.04.1
openjdk-6-jre-headless:amd64 6b37-1.13.9-1ubuntu0.14.04.1
openjdk-6-jre-lib 6b37-1.13.9-1ubuntu0.14.04.1
openjdk-7-jdk:amd64 7u91-2.6.3-0ubuntu0.14.04.1
openjdk-7-jre:amd64 7u91-2.6.3-0ubuntu0.14.04.1
openjdk-7-jre-headless:amd64 7u91-2.6.3-0ubuntu0.14.04.1
openjdk-7-jre-lib 7u91-2.6.3-0ubuntu0.14.04.1
Suponho que, se estiverem na sua lista, eles serão exibidos como:
openjdk-6-jre:amd64-6b37-1.13.9-1ubuntu0.14.04.1
openjdk-6-jre-headless:amd64-6b37-1.13.9-1ubuntu0.14.04.1
openjdk-6-jre-lib-6b37-1.13.9-1ubuntu0.14.04.1
openjdk-7-jdk:amd64-7u91-2.6.3-0ubuntu0.14.04.1
openjdk-7-jre:amd64-7u91-2.6.3-0ubuntu0.14.04.1
openjdk-7-jre-headless:amd64-7u91-2.6.3-0ubuntu0.14.04.1
openjdk-7-jre-lib-7u91-2.6.3-0ubuntu0.14.04.1
Então, talvez agora você possa entender por que isso é difícil de extrair. Se você copiar qualquer coisa além de um número, você acaba não sendo capaz de distinguir vários tipos de pacotes.
Meu conselho é obter uma lista melhor com um delimitador adequado que não seja permitido nos nomes dos pacotes. Espaços, vírgulas, guias, etc.