From 36aca608df682010f3e9656cae1fde77ac4a2469 Mon Sep 17 00:00:00 2001 From: Ky-Anh Huynh Date: Thu, 17 Jun 2021 23:32:59 +0200 Subject: [PATCH] Fix #96, #143: Qs/q for yum, apk, dpkg --- CHANGELOG.md | 5 +++++ lib/00_core.sh | 13 +++++++++++++ lib/apk.sh | 4 +++- lib/dpkg.sh | 3 ++- lib/yum.sh | 8 +++++++- 5 files changed, 30 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f94653e..48032bd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## next + +* `lib/yum`, `lib/dpkg`, `lib/apk`: Fix #96, #143 + by adding `--quiet` option for `Qs`. + ## v2.4.4 * `lib/dnf`: Minor improvements (#148) diff --git a/lib/00_core.sh b/lib/00_core.sh index 60199598..4b47cca3 100644 --- a/lib/00_core.sh +++ b/lib/00_core.sh @@ -233,3 +233,16 @@ _print_supported_operations() { done echo } + +_quiet_field1() { + if [[ "${_TOPT}" == "" ]]; then + cat + else + awk '{print $1}' + fi +} + +_quiet_field1_not_implemented() { + cat >/dev/null + _not_implemented +} diff --git a/lib/apk.sh b/lib/apk.sh index b3f80d19..18735642 100644 --- a/lib/apk.sh +++ b/lib/apk.sh @@ -39,8 +39,10 @@ apk_Qo() { apk info --who-owns -- "$@" } +# apk_Qs may _not_implemented apk_Qs() { - apk info -- "*${*}*" + apk info -- "*${*}*" \ + | _quiet_field1_not_implemented } apk_Qu() { diff --git a/lib/dpkg.sh b/lib/dpkg.sh index 907faf62..160ecd44 100644 --- a/lib/dpkg.sh +++ b/lib/dpkg.sh @@ -75,7 +75,8 @@ dpkg_Qs() { dpkg-query -W -f='${Status} ${Package}\t${Version}\t${Description}\n' \ | grep -E '^((hold)|(install)|(deinstall))' \ | sed -r -e 's#^(\w+ ){3}##g' \ - | grep -Ei "${@:-.}" + | grep -Ei "${@:-.}" \ + | _quiet_field1 } # dpkg_Rs may _not_implemented diff --git a/lib/yum.sh b/lib/yum.sh index 7561a6f3..81620d2b 100644 --- a/lib/yum.sh +++ b/lib/yum.sh @@ -32,7 +32,13 @@ yum_Qi() { } yum_Qs() { - rpm -qa "*${*}*" + if [[ "$_TOPT" == "q" ]]; then + rpm -qa --qf "%{NAME}\\n" "*${*}*" + elif [[ "$_TOPT" == "" ]]; then + rpm -qa --qf "%{NAME} %{VERSION}\\n" "*${*}*" + else + _not_implemented + fi } yum_Ql() {