在dpkg.log找一批同时安装的包,然后输出完全卸载这些包的命令。

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

在dpkg.log找一批同时安装的包,然后输出完全卸载这些包的命令。

#1

帖子 eexpress » 2006-04-15 1:14

#!/bin/bash

[ -z $1 ] && exit 1;
arg=$1
dpkg=""
grep '[0-9]\ install' /var/log/dpkg.log>tmp
find=`awk '$4~/'$arg'/ {print $2}' tmp` #不知道awk如何执行{find=$2:0:5}这样的功能,只好输出到find,再有bash处理。
find=${find:0:5}
dpkg+=" "`awk '$2~/'$find:[0-9][0-9]'/ {print $4} ' tmp` #目前只是判断了同一分钟的,需要判断上下2分钟内的。也是不知道awk如何执行{dpkg+=" "$4}这样的功能
echo sudo apt-get remove --purge $dpkg

执行结果如下:

代码: 全选

exp@eexpress:~$ ./find-install-dpkg-group.sh 囗囗囗
sudo apt-get remove --purge libevent1 囗囗囗囗囗囗囗 囗囗囗囗囗囗 囗囗囗
exp@eexpress:~$ ./find-install-dpkg-group.sh eyed3
sudo apt-get remove --purge python2.4-eyed3 python-eyed3 eyed3
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2006-05-07 16:01

● 鸣学
回复