一、参数问题:
split.log文件内容如下:
a1/a2//a3
/b2/b3/b4
///c4/c5/c6
命令:cat split.log | awk -F[\/] '{print $2}'
输出:
a2
b1
awk -F[\/]以"/"为分隔符,第一个分隔符左边开始计数为第一个参数,即使左边为空(没有任何字符)
a1/a2//a3:此处a1即为第一个参数$1,a2为第二个参数$2
/b1/b2/b3:此处第一个参数$1为空,b1为第二个参数$2
///c4/c5/c6:按照上面的算法,c4为第四个参数$4 ===> ///c4/c5/c6可以这样理解 null/null/null/c4/c5/c6 红色null为$1,绿色null为$2,蓝色null为$3
二、常用命令
$0:整行
$1:第一个字段
$2:第二个字段
$n:第n个字段
awk默认以空格为分隔符,不加-F 参数就是默认空格为分隔符
-F ':' 以冒火为分隔符
awk -F ':' '{print $1,$3}' passwd 以冒号为分隔符打印passwd文件每一行的第一个和第三个字段
awk -F ':' '{print "UserName:"$1,"UserID:"$3}' passwd 用双引号括起来输出额外自定义的信息
NR:行号
NF:每行字段数量
FILENAME:正在处理的文件名