apt-get autoremove
が選択するパッケージの名前のみを出力するコマンドはありますか?カーネルを更新し、古いカーネルと不要なパッケージ(apt-get autoremove
)を削除するスクリプトを作成していますが、apt-get autoremove
によって削除されるパッケージのリストを画面に印刷したいこれどうやってするの?
コメント通り なので、削除されるパッケージのみをリストしたい:
apt-get --dry-run autoremove | grep -Po '^Remv \K[^ ]+'
grep
コマンドの内訳:
-P
:指定されたパターンをPCRE(Perl Compatible Regular Expression)パターンとして解釈します-o
:行全体ではなく、一致した文字列のみを出力します正規表現の内訳:
^
:行の先頭に一致Remv
:Remv
文字列に一致\K
:一致した文字列から以前に一致した部分文字列を除外します[^ ]+
:1つ以上の文字と一致しません$ apt-get --dry-run autoremove | grep -Po 'Remv \K[^ ]+'
libapache2-mod-php5
php5-readline
php5-cli
libonig2
libqdbm14
php5-json
php5-common
実際には、あなたの出力をフィルタリングする必要があります
Sudo apt-get autoremove --dry-run
コマンド。
たとえば、あなたはそれをすることができます
Sudo apt-get autoremove --dry-run | head -n 5 | tail -n 1