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
每天积累一点点