分享一句自己刚写的命令 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
blender2017
V2EX    Linux

分享一句自己刚写的命令

  •  
  •   blender2017 2019-01-30 16:31:28 +08:00 5254 次点击
    这是一个创建于 2446 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条附言    2019-01-30 22:32:59 +08:00
    才知道 uniq 的-c。。果然好用
    修改前半部分后:
    for i in $(cat a b c | grep "^ii" | awk '{print $2}' | sort | uniq -c | grep "^ 3" | awk '{print $2}'); do sed -i "/ii $i /d" a b c; done

    只留包名和包的描述(-c 35-78 部分受系统里最长包名影响):
    cat c | cut -c 35-78 --complement | cut -c 1-4 --complement
    第 2 条附言    2019-01-30 22:56:46 +08:00
    ii 和$i 之间是 2 个空格,^和 3 之间是 6 个空格
    15 条回复    2019-01-31 11:25:39 +08:00
    quinoa42
        1
    quinoa42  
       2019-01-30 16:35:44 +08:00 via Android
    呃。。用 python 写可能只要 10 分钟
    我也喜欢自己写些 bash 脚本,但有些情况不能太走火入魔
    oott123
        2
    oott123  
       2019-01-30 16:47:24 +08:00
    cat a b c | sort | uniq -c | grep -v "^\s3"
    guog
        3
    guog  
       2019-01-30 16:55:08 +08:00
    diff3 a b c
    prolic
        4
    prolic  
       2019-01-30 16:57:51 +08:00
    换我就直接 vimdiff a b c 看
    dorothyREN
        5
    dorothyREN  
       2019-01-30 16:59:27 +08:00
    a b c 文件直接合并 然后 sort| uniq -c 重复次数为 3 的就是三个都有的。
    hei1000
        6
    hei1000  
       2019-01-30 17:07:35 +08:00
    我有好多自己写的命令(脚本,函数,alias ),不过 shell 我用的 fishshell
    lihongjie0209
        8
    lihongjie0209  
       2019-01-30 17:37:35 +08:00
    auv1107
        9
    auv1107  
       2019-01-30 19:57:13 +08:00
    grep 两个文件,结果和第三个文件 grep
    May725
        10
    May725  
       2019-01-30 20:16:50 +08:00
    各领风骚
    loading
        11
    loading  
       2019-01-30 20:46:26 +08:00 via Android
    喔,这种看不懂的脚本我根本不敢跑。
    Lax
        12
    Lax  
       2019-01-30 21:15:41 +08:00
    有点走火入魔
    scukmh
        13
    scukmh  
       2019-01-30 21:21:40 +08:00
    这种脚本我不敢跑(
    ivamp
        14
    ivamp  
       2019-01-31 09:56:58 +08:00
    @bingu 好东西呀
    lulinux
        15
    lulinux  
       2019-01-31 11:25:39 +08:00 via Android
    sed -i 命令有点危险,其他还好
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3590 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:13 PVG 08:13 LAX 17:13 JFK 20:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86