因为第一列是空格因此$3才会输出2;
参数3:用printf来指定格式输出,例如我们用用户名文件/etc/passwd为例来说明
[root@MY-LINEX-TEST1 ~]# awk -F ‘:‘ ‘NR>8&&NR<20 {print $1"\t"$5}‘ /etc/passwd
mail mail
uucp uucp
operator operator
games games
gopher gopher
ftp FTP User
nobody Nobody
dbus System message bus
vcsa virtual console memory owner
abrt
haldaemon HAL daemon
看着不是很对齐这情况我就可以用printf来设定格式了和C语言基本一样就是
[root@MY-LINEX-TEST1 ~]# awk -F ‘:‘ ‘NR>8&&NR<20 {printf"%10s %10s\n", $1,$5}‘ /etc/passwd
mail mail
uucp uucp
operator operator
games games
gopher gopher
ftp FTP User
nobody Nobody
dbus System message bus
vcsa virtual console memory owner
abrt
haldaemon HAL daemon
这里不要忘记反斜杠n不然更乱。
其他的功能我就还不是很清楚以后在慢慢请了在补充进来。
oldboy文章:http://blog.51cto.com/oldboy/950730
原文:http://blog.51cto.com/13638458/2095409