awk默认处理的分隔符为空格,而我们经常用到的如/etc/passwd,/etc/shadow等文件不是以空格作为分割的而是以“:”作为分割,此时若想提取某个字段的值,必须要改变默认的分隔符,这里我给大家推荐三种改变分割符的方法。
一:
awk -F: '{print $1,$7}' /etc/passwd (-F后面跟你想要以什么作为输入分隔符,本例都以“:”作为分隔符)
二:
awk -v FS=: '{print $1,$7}' /etc/passwd
三:
awk 'BEGIN {FS=":"} {print $1,$7}' /etc/passwd
扩展阅读:其中awk默认输出也是以空格作为分界符,若想改变输出分隔符,下面推荐两种方法
一:
awk -v FS=: -v OFS=, '{print $1,$7}' /etc/passwd (其中OFS后跟你想要更改的输出分隔符,本例以“,”作为输出分隔符)
二:
awk '{BEGIN {FS=:} {OFS=,} {print $1,$7}' /etc/passwd