• linux终端分割获取指定部分的数据


    示例:

    查看git历史有哪些提交作者

    git log | awk -F 'Author:' '{print $2 }' | awk -F '<' '{print $1}' | sort | uniq | tee author.txt
    

    分析:

    1、查看git日志的格式

    commit 5b19a21a1dd237ddd8679fa91f7ba623c5a0f357
    Author: qingshan <zqunor@foxmail.com>
    Date:   Mon Dec 23 11:33:18 2019 +0800
    
        {具体的提交信息}
    

    需要获取的信息是 qingshan, 介于Author: 和邮箱地址之间

    2、以指定内容切分,并获取相应部分的数据

    以'Author: '为分隔符, 并获取切分后的第二个元素,即qingshan ...., 从作者后包括邮箱等的信息

     awk -F 'Author:' '{print $2 }'
    

    以邮箱标记的 '<' 为分隔符, 并获取切分后的第一个元素,即qingshan, 只包括作者信息

    awk -F '<' '{print $1}'
    

    3、调整格式,按作者名称首字母排序,去掉空行 sort

    sort
    

    4、去重 uniq

    uniq
    

    5、输出到指定文件

    只输出到文件,不在终端显示

    > author.txt
    

    输出到文件,并在终端显示 tee

    tee author.txt
    
  • 相关阅读:
    洛谷P1865 A%B Problem
    树状数组的操作
    树状数组的基础知识
    卡常优化中最为奇怪的操作
    inline的用法
    快速读入的方法
    P1059 明明的随机数及unique去重的用法
    P3376 网络最大流 【模板】
    Gym
    HDU
  • 原文地址:https://www.cnblogs.com/zqunor/p/12095307.html
Copyright © 2020-2023  润新知