awk 分隔符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk 分隔符相关的知识,希望对你有一定的参考价值。

awk的默认分隔符是空格
awk的分隔符还分为 输入分隔符 和 输出分隔符
输入分隔符 field separator 简称FS
输出分隔符 output field separator 简称OFS
如果在一段文本中没有空格,我们可以指定以特定的文字或符号作为输入分隔符,我们可以使用-F选项指定输入分隔符。

指定:作为分隔符
[email protected]:~# head -3 /etc/passwd | awk -F: ‘{print $1,$NF}‘
root /bin/bash
daemon /usr/sbin/nologin
bin /usr/sbin/nologin

除了使用-F指定输入分隔符,还可以通过设置内部变量的方式指定awk的输入分隔符,awk内置变量FS可以用于指定输入分隔符,但是在使用变量时,需要使用-v选项,用于指定对应的变量。

[email protected]:~# head -3 /etc/passwd | awk -v FS=‘:‘ ‘{print $1,$NF}‘
root /bin/bash
daemon /usr/sbin/nologin
bin /usr/sbin/nologin
[email protected]:~#

-F选项用于指定输入分隔符
-v用于设置内置变量FS的值

[email protected]:~# awk -F: ‘{print $1,$2,$3}‘ /etc/passwd | head -3
root x 0
daemon x 1
bin x 2

[email protected]:~# awk -F: ‘{print $1,$2,$3}‘ /etc/passwd |head -3 |awk -v OFS=‘++
+‘ ‘{print $1,$2,$3}‘
root+++x+++0
daemon+++x+++1
bin+++x+++2

以上是关于awk 分隔符的主要内容,如果未能解决你的问题,请参考以下文章

linux shell 中 awk 分隔符

Linux三剑客-awk

如何使用“:”作为 AWK 字段分隔符?

awk指定分隔符时,没有匹配到分隔符的行会怎样?

awk 不一样的分隔符 - 空格分隔符

awk基础02-变量-分隔符-数组