for i in $(cat a b c | grep '^ii' | awk '{print $2}' | sort | uniq); do [ "$(grep "ii $i " a)" ] && [ "$(grep "ii $i " b)" ] && [ "$(grep "ii $i " c)" ] && sed -i "/ii $i /d" a b c; done
安装 Debian 时有好几个备选,有个 standard system utilities。想搞清楚这个东西时包含哪些东西,就安装了三个虚拟机:一个什么也不选,装出来的系统最干净,只有最基本的系统;一个只选了 standard system utilities 这个选项;最后一个只选了 gnome 桌面环境。然后三个装好的系统都导出 dpkg -l 结果。三个文件分别命名主 a b c。上面的命令就是把三个里面都有的包删掉,这样就知道那个 standard system utilities 选项里有哪些东西了。写这个命令写了一天,很有意思。哈哈。
regex 写成这样"ii $i "是防止包的描述里出现包的名字。这个命令大家有更好的写法吗。。。
1
quinoa42 2019-01-30 16:35:44 +08:00 via Android
呃。。用 python 写可能只要 10 分钟
我也喜欢自己写些 bash 脚本,但有些情况不能太走火入魔 |
2
oott123 2019-01-30 16:47:24 +08:00
cat a b c | sort | uniq -c | grep -v "^\s3"
|
3
guog 2019-01-30 16:55:08 +08:00
diff3 a b c
|
4
prolic 2019-01-30 16:57:51 +08:00
换我就直接 vimdiff a b c 看
|
5
dorothyREN 2019-01-30 16:59:27 +08:00
a b c 文件直接合并 然后 sort| uniq -c 重复次数为 3 的就是三个都有的。
|
6
hei1000 2019-01-30 17:07:35 +08:00
我有好多自己写的命令(脚本,函数,alias ),不过 shell 我用的 fishshell
|
7
bingu 2019-01-30 17:33:49 +08:00
|
8
lihongjie0209 2019-01-30 17:37:35 +08:00
https://askubuntu.com/questions/766419/whats-in-standard-system-utilities-in-the-server-install
sudo tasksel --task-package standard |
9
auv1107 2019-01-30 19:57:13 +08:00
grep 两个文件,结果和第三个文件 grep
|
10
May725 2019-01-30 20:16:50 +08:00
各领风骚
|
11
loading 2019-01-30 20:46:26 +08:00 via Android
喔,这种看不懂的脚本我根本不敢跑。
|
12
Lax 2019-01-30 21:15:41 +08:00
有点走火入魔
|
13
scukmh 2019-01-30 21:21:40 +08:00
这种脚本我不敢跑(
|
15
lulinux 2019-01-31 11:25:39 +08:00 via Android
sed -i 命令有点危险,其他还好
|