Здесь вообще не нужны grep (или egrep ):команда dpkg -l
принимает шаблон:
-l, --list package-name-pattern...
List packages matching given pattern.
Обратите внимание, что package-name-pattern
— это шаблон глобуса, а не регулярное выражение. Так
dpkg -l 'q*'
Если вам нужен вывод в более настраиваемом формате (, например, только имя пакета binay ), вы можете использовать dpkg-query
вместо напр.
dpkg-query -Wf '${binary:Package}\n' 'q*'
sed '/=\s*$/d' infile
или
sed '/=[[:blank:]]*$/d' infile
удалите те строки, которые заканчиваются на =
, за которыми следует ноль -или еще -пробелов.
Использование awk
и сохранение пустых строк:
awk -F'[=\t ]' '$NF!="" || /^$/' infile
или
awk -F'=[[:blank:]]*' '$NF!="" || /^$/' infile