Afo*_*usa 20 package-management apt bash scripts text-processing
是否有任何命令只打印apt-get autoremove选择的包的名称?我正在创建一个脚本来更新内核、删除旧内核和不必要的包 ( apt-get autoremove),但我想在屏幕上打印将由 删除的包列表,apt-get autoremove我该怎么做?
kos*_*kos 22
由于根据您的评论,您只想列出将要删除的软件包:
apt-get --dry-run autoremove | grep -Po '^Remv \K[^ ]+'
Run Code Online (Sandbox Code Playgroud)
grep 命令分解:
-P:将给定的模式解释为 PCRE(Perl 兼容正则表达式)模式-o: 只打印匹配的字符串而不是整行正则表达式细分:
^: 匹配行的开头Remv: 匹配一个Remv字符串\K: 从匹配的字符串中排除先前匹配的子字符串[^ ]+: 不匹配一个或多个字符 $ apt-get --dry-run autoremove | grep -Po 'Remv \K[^ ]+'
libapache2-mod-php5
php5-readline
php5-cli
libonig2
libqdbm14
php5-json
php5-common
Run Code Online (Sandbox Code Playgroud)
实际上你只需要过滤你的输出
sudo apt-get autoremove --dry-run
Run Code Online (Sandbox Code Playgroud)
命令。
例如你可以这样做
sudo apt-get autoremove --dry-run | head -n 5 | tail -n 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7075 次 |
| 最近记录: |