awk 输出字段使用逗号

日志处理的时候经常会使用awk命令,如对日志进行分割输出等,输出的时候默认使用空格进行分割,如

原日志

这里是一行日志:userId:123456,mobile:1234567382

cat test.log |awk -F 'userId:' '{print $2}'

会输出:123456,mobile:1234567382

如果只想要筛选 userId和mobile的字段

cat test.log |awk -F 'userId:' '{print $2}' | awk -F ',mobile:' '{print $1,$2}'

输出:123456 1234567382

此时是逗号分隔

我们可以使用OFS修改默认输出字段分隔符

cat test.log |awk -F 'userId:' '{print $2}' | awk -F ',mobile:' 'BEGIN{OFS=","} {print $1,$2}'

输出:123456,1234567382

 

附:

FS : 输入字段分隔符,默认空格。

RS : 输入行分隔符,默认\n。

OFS : 输出字段分隔符,默认空格。

ORS : 输出行分隔符,默认\n

 

posted @ 2020-10-19 18:59  天邪小鬼  阅读(2182)  评论(0编辑  收藏  举报