一、自动将每行数据元素分配一个变量
$0:整个文本行;
$1:代表文本行中的第1个数据字段;
$n:代表文本行中的第n个数据字段;
默认字段分隔符是任意的空白字符(例如:空格或制表符)
二、常用命令
1、命令:awk '{print $1}' 2021-09-27.log
解释说明:以空格分隔,取第1个数据字段
实例:
[root@xxx]# awk '{print $1}' 2021-09-27.log
[2021-09-27T10:30:05.224890+08:00]
[2021-09-27T11:00:03.888465+08:00]
[2021-09-27T11:17:53.106370+08:00]
[2021-09-27T11:17:58.284279+08:00]
[2021-09-27T14:21:56.890088+08:00]
[2021-09-27T14:22:21.773978+08:00]
[2021-09-27T14:22:32.922799+08:00]
[2021-09-27T14:22:43.258389+08:00]
[2021-09-27T14:23:34.754086+08:00]
[2021-09-27T14:23:46.254421+08:00]
[2021-09-27T16:07:34.418938+08:00]
[2021-09-27T16:07:45.813120+08:00]
[2021-09-27T17:01:44.042946+08:00]
2、命令:awk '{if(NR>=2 && NR<=3) print $1}' 2021-09-27.log
解释说明:查看文件第2行到第3行的内容,第一个数据字段(若查看全部字段,替换为:$0)
实例:
[root@xxx]# awk '{if(NR>=2 && NR<=3) print $1}' 2021-09-27.log
[2021-09-27T11:00:03.888465+08:00]
[2021-09-27T11:17:53.106370+08:00]
3、命令:awk -F ',' '{print $1}' 2021-09-27.log
解释说明:打印以逗号为分隔符,第一个数据字段
实例:
[root@xxx]# awk -F ',' '{print $1}' 2021-09-27.log
[2021-09-27T10:30:05.224890+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T11:00:03.888465+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T11:17:53.106370+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T11:17:58.284279+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T14:21:56.890088+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T14:22:21.773978+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T14:22:32.922799+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T14:22:43.258389+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T14:23:34.754086+08:00] app.ERROR: xxx failed {"errno":400
[2021-09-27T14:23:46.254421+08:00] app.ERROR: xxx failed {"errno":400