Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
blender2017
V2EX  ›  Linux

分享一句自己刚写的命令

  •  
  •   blender2017 · Jan 30, 2019 · 5791 views
    This topic created in 2672 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Jan 30, 2019
    才知道 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
    Supplement 2  ·  Jan 30, 2019
    ii 和$i 之间是 2 个空格,^和 3 之间是 6 个空格
    15 replies    2019-01-31 11:25:39 +08:00
    quinoa42
        1
    quinoa42  
       Jan 30, 2019 via Android
    呃。。用 python 写可能只要 10 分钟
    我也喜欢自己写些 bash 脚本,但有些情况不能太走火入魔
    oott123
        2
    oott123  
       Jan 30, 2019
    cat a b c | sort | uniq -c | grep -v "^\s3"
    guog
        3
    guog  
       Jan 30, 2019
    diff3 a b c
    prolic
        4
    prolic  
       Jan 30, 2019
    换我就直接 vimdiff a b c 看
    dorothyREN
        5
    dorothyREN  
       Jan 30, 2019
    a b c 文件直接合并 然后 sort| uniq -c 重复次数为 3 的就是三个都有的。
    hei1000
        6
    hei1000  
       Jan 30, 2019
    我有好多自己写的命令(脚本,函数,alias ),不过 shell 我用的 fishshell
    auv1107
        9
    auv1107  
       Jan 30, 2019
    grep 两个文件,结果和第三个文件 grep
    May725
        10
    May725  
       Jan 30, 2019
    各领风骚
    loading
        11
    loading  
       Jan 30, 2019 via Android
    喔,这种看不懂的脚本我根本不敢跑。
    Lax
        12
    Lax  
       Jan 30, 2019
    有点走火入魔
    scukmh
        13
    scukmh  
       Jan 30, 2019
    这种脚本我不敢跑(
    ivamp
        14
    ivamp  
       Jan 31, 2019
    @bingu 好东西呀
    lulinux
        15
    lulinux  
       Jan 31, 2019 via Android
    sed -i 命令有点危险,其他还好
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3193 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 109ms · UTC 14:05 · PVG 22:05 · LAX 07:05 · JFK 10:05
    ♥ Do have faith in what you're doing.