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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM