首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
宝塔
V2EX  ›  Linux

分享一句自己刚写的命令

  •  
  •   blender2017 · 296 天前 · 3144 次点击
    这是一个创建于 296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条附言  ·  295 天前
    才知道 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 条附言  ·  295 天前
    ii 和$i 之间是 2 个空格,^和 3 之间是 6 个空格
    15 回复  |  直到 2019-01-31 11:25:39 +08:00
        1
    quinoa42   296 天前 via Android
    呃。。用 python 写可能只要 10 分钟
    我也喜欢自己写些 bash 脚本,但有些情况不能太走火入魔
        2
    oott123   296 天前
    cat a b c | sort | uniq -c | grep -v "^\s3"
        3
    guog   296 天前
    diff3 a b c
        4
    prolic   296 天前
    换我就直接 vimdiff a b c 看
        5
    dorothyREN   296 天前
    a b c 文件直接合并 然后 sort| uniq -c 重复次数为 3 的就是三个都有的。
        6
    hei1000   296 天前
    我有好多自己写的命令(脚本,函数,alias ),不过 shell 我用的 fishshell
        9
    auv1107   296 天前
    grep 两个文件,结果和第三个文件 grep
        10
    May725   296 天前
    各领风骚
        11
    loading   296 天前 via Android
    喔,这种看不懂的脚本我根本不敢跑。
        12
    Lax   296 天前
    有点走火入魔
        13
    scukmh   296 天前
    这种脚本我不敢跑(
        14
    ivamp   295 天前
    @bingu 好东西呀
        15
    lulinux   295 天前 via Android
    sed -i 命令有点危险,其他还好
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2285 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 13:41 · PVG 21:41 · LAX 05:41 · JFK 08:41
    ♥ Do have faith in what you're doing.