Arch Linux에서 "설치되지 않은" 패키지만 검색하는 방법은 무엇입니까?

Arch Linux에서 "설치되지 않은" 패키지만 검색하는 방법은 무엇입니까?

pacman -S아직 설치되지 않은 패키지만 표시 하려면 어떤 플래그를 사용할 수 있습니까 ?

디자인을 완료할 수 없는 경우 쉘 스크립트가 허용됩니다. 감사해요.

답변1

첫 번째 시도 후에 반대 답변을 얻었습니다. Jeff Schaller에게 감사드립니다. 다음은 설치된 패키지를 필터링하고 제거된 패키지만 표시하는 작은 스크립트입니다.

#!/bin/sh

installed=$(pacman -Q | cut -d ' ' -f 1 | tr '\n' '|')
pacman -Ssq | egrep -v \'${installed}\'

답변2

이것은 3가지 다른 방법을 사용하는 스크립트이며 모두 한 줄 설명을 유지합니다. 또한 검색어에 명령줄 인수를 사용할 수도 있습니다.

#!/bin/bash
#pacman -Ss "$@" | pcregrep -Mv '.*\[installed.*\n'
#pacman -Ss "$@" | sed -n -e '/\[installed/!p;: m' -e '//{' -e '$!{' -e 'n;b m' -e '}' -e'}'
pacman -Ss "$@" | awk '/\[installed/ { getline; next } 1'

예:

pacman-search-exclude-installed.sh search terms

내 연구:

일치 후 grep -v를 실행하고 다음 줄을 제외하려면 어떻게 해야 합니까?

"grep -v"를 수행하고 일치 후 "n"줄을 제외하는 방법은 무엇입니까?

답변3

@thomas의 답변을 확장하여 OP 문제를 구현하는 데 사용할 수 있는 기성 기능이 있습니다.

pmig () {
  pacman -Q | grep $1 | cut -d ' ' -f 1 
}

pmrg () {
pacman -Ssq | grep $1
}

pmnig () {
local installed="|$(pmig $1 | tr '\n' '|')"
pmrg $1 | grep -E -v \'${installed}\'
}

pmnigv () {
  pacman -Ss $1 | grep -v "$(pacman -Ss $1 | grep "\[installed\]" -A1 )" | grep -v "\[installed\]" 
}


그렇다면 한번 시도해 보세요.

echo "==installed =="; pmig disk; echo "==in repos=="; pmrg disk; echo "===in repos but not installed==="; pmnig disk

밝혀지다

==installed ==
gnome-disk-utility
gptfdisk
udiskie
udisks2
==in repos==
gnome-disk-utility
gptfdisk
plasma-disks
testdisk
udisks2
xfce4-diskperf-plugin
deepin-diskmanager
diskonaut
diskus
haskell-disk-free-space
kdiskmark
udiskie
udisks2-qt5
xdiskusage
yubikey-full-disk-encryption
===in repos but not installed===
plasma-disks
testdisk
xfce4-diskperf-plugin
deepin-diskmanager
diskonaut
diskus
haskell-disk-free-space
kdiskmark
xdiskusage
yubikey-full-disk-encryption

pmnigv는 자세한 버전입니다.

pmigv disk

extra/cdrdao 1.2.5-1
    Records audio/data CD-Rs in disk-at-once (DAO) mode
extra/filelight 22.12.2-1 (kde-applications kde-utilities)
    View disk usage information
extra/kdf 22.12.2-1 (kde-applications kde-utilities)
    View Disk Usage
extra/libisofs 1.5.4-1
    Library to pack up hard disk files and directories into a ISO 9660 disk image
extra/mtools 1:4.0.42-1
    A collection of utilities to access MS-DOS disks
extra/partitionmanager 22.12.2-1 (kde-applications kde-system)
    A KDE utility that allows you to manage disks, partitions, and file systems
extra/plasma-disks 5.26.5-1 (plasma)
    Monitors S.M.A.R.T. capable devices for imminent failure
extra/qemu-img 7.2.0-3
    QEMU tooling for manipulating disk images
....

관련 정보