标签:复杂 匹配 输入 格式化 source python linu 文件 定义变量
awk
、grep
、sed
是linux
操作文本的三大利器,也是必须掌握的linux
命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属awk
功能最强大,但也最复杂。grep
更适合单纯的查找或匹配文本,sed
更适合编辑匹配到的文本,awk
更适合格式化文本,对文本进行较复杂格式处理。
以下所有实验输出,均以测试文件test.log
内容为基准:
20170102 admin,password Open 20170801 nmask,nmask close 20180902 nm4k,test filter
AWK
是一种处理文本文件的语言,是一个强大的文本分析工具; awk
是以列为划分计数的,$0
表示所有列,$1
表示第一列,$2
表示第二列。
-F
指定输入文件折分隔符,如-F
:-v
赋值一个用户定义变量,如-va=1
-f
从脚本文件中读取awk
命令注:只列举最常用的参数
每行按空格分割列,并输出第1、3列
$ awk ‘{print $1,$3}‘ test.log
# 或者
$ cat test.log | awk ‘{print $1,$3}‘
使用”,”进行分割,参数用-F
awk -F, ‘{print $1,$2}‘ test.log
使用多个分隔符,先使用空格分割,然后对分割结果再使用”,”分割
$ awk -F ‘[ ,]‘ ‘{print $1,$2,$3}‘ test.log #注意逗号前面有一个空格
标签:复杂 匹配 输入 格式化 source python linu 文件 定义变量
原文地址:https://www.cnblogs.com/guo-s/p/12543051.html