zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    递归与尾递归(C语言)
    超酷算法:Levenshtein自动机
    编程面试的10大算法概念汇总
    C 语言中的指针和内存泄漏
    计算机实际上是如何工作的
    超酷算法:同型哈希
    4个Linux服务器监控工具
    2015-3-23
    2015-3-20
    2015-3-19
  • 原文地址:https://www.cnblogs.com/zqunor/p/12095307.html
Copyright © 2011-2022 走看看