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 命令有点危险,其他还好 |