linux系统 awk 命令依据列字段进行数据匹配
作者:互联网
1、创建测试数据
[root@linuxprobe test]# cat a.txt ## 随机创建测试数据 fr dfg rte er hdf fgh dg fgd rtw er ewr scf yt ret tgr
2、简单用法
[root@linuxprobe test]# awk '$1 ~ /fr/ {print $0}' a.txt ## 第一列匹配fr,输出完整列 fr dfg rte [root@linuxprobe test]# awk '$1 ~ /er/ {print $0}' a.txt ## 同上 er ewr scf [root@linuxprobe test]# awk '$2 ~ /fgd/ {print $0}' a.txt ## 同上 dg fgd rtw
3、提取特定列以特定字符开头结尾的行
[root@linuxprobe test]# awk '$2 ~ /^f/ {print $0}' a.txt ## 提取第二列以f开头的行 dg fgd rtw [root@linuxprobe test]# awk '$3 ~ /^r/ {print $0}' a.txt ## 提取第三列以r开头的行 fr dfg rte dg fgd rtw [root@linuxprobe test]# awk '$1 ~ /r$/ {print $0}' a.txt ## 提取第一列以r结尾的行 fr dfg rte er hdf fgh er ewr scf
[root@linuxprobe test]# awk '$3 ~ /^r|^s/ {print $0}' a.txt ## 同时提取第三列以r开头或者以s开头的行 fr dfg rte dg fgd rtw er ewr scf [root@linuxprobe test]# awk '$3 ~ /^r/ {print $0}' a.txt ## 提取第三列以r开头的行 fr dfg rte dg fgd rtw [root@linuxprobe test]# awk '$3 ~ /^r.*w$/ {print $0}' a.txt ##提取第三列以r开头同时以w结尾的行 dg fgd rtw
标签:列字段,linuxprobe,##,awk,linux,test,txt,root 来源: https://www.cnblogs.com/liujiaxin2018/p/13785250.html