分享一句自己刚写的命令

2019-01-30 16:31:28 +08:00
 blender2017

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 "是防止包的描述里出现包的名字。这个命令大家有更好的写法吗。。。

4537 次点击
所在节点    Linux
15 条回复
quinoa42
2019-01-30 16:35:44 +08:00
呃。。用 python 写可能只要 10 分钟
我也喜欢自己写些 bash 脚本,但有些情况不能太走火入魔
oott123
2019-01-30 16:47:24 +08:00
cat a b c | sort | uniq -c | grep -v "^\s3"
guog
2019-01-30 16:55:08 +08:00
diff3 a b c
prolic
2019-01-30 16:57:51 +08:00
换我就直接 vimdiff a b c 看
dorothyREN
2019-01-30 16:59:27 +08:00
a b c 文件直接合并 然后 sort| uniq -c 重复次数为 3 的就是三个都有的。
hei1000
2019-01-30 17:07:35 +08:00
我有好多自己写的命令(脚本,函数,alias ),不过 shell 我用的 fishshell
bingu
2019-01-30 17:33:49 +08:00
lihongjie0209
2019-01-30 17:37:35 +08:00
auv1107
2019-01-30 19:57:13 +08:00
grep 两个文件,结果和第三个文件 grep
May725
2019-01-30 20:16:50 +08:00
各领风骚
loading
2019-01-30 20:46:26 +08:00
喔,这种看不懂的脚本我根本不敢跑。
Lax
2019-01-30 21:15:41 +08:00
有点走火入魔
scukmh
2019-01-30 21:21:40 +08:00
这种脚本我不敢跑(
ivamp
2019-01-31 09:56:58 +08:00
@bingu 好东西呀
lulinux
2019-01-31 11:25:39 +08:00
sed -i 命令有点危险,其他还好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/531913

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX