在awk中,print和print $0的作用完全一样。
awk '{print $0}' bill
4429300,0,8613902700001,8613902700002,8613800288500,2004/06/26 10:31:33,2004/06/26 10:31:33,0,0,0,4,6,1,0,0,0,,0,2004/06/26 10:31:32,NULL,1,0,0,nihao@,4429300,0,8613902700001,8613902700003,8613800288500,2004/06/26 10:31:33,2004/06/26 10:31:33,0,0,0,4,6,1,0,0,0,,0,2004/06/26 10:31:32,NULL,1,0,0,nihao@,
在调用awk时,使用-F选项来指定","作为字段分隔符。
awk -F "," '{print $3, $4}' bill
8613902700001 8613902700002
可以在字段中插入字符,比如:
awk -F "," '{print "OrgAddr:" $3, "\tDestAddr:" $4}' bill
OrgAddr:8613902700001 DestAddr:8613902700002
bill.awk
BEGIN {
FS=","
}
{print "OrgAddr:" $3, "\tDestAddr:" $4}
awk -f bill.awk bill
OrgAddr: 8613902700001 DestAddr: 8613902700002
awk 'BEGIN{i=0} {i++} END{print i}' hello.txt
1
awk 'BEGIN{print "start "} {print $0} END{print "end"}' hello.txt
start
hello!
end
awk -F: '{print "行号[" NR "]\t列数:" NF "\t行内容:"$0}' password
行号[1] 列数:7 行内容:root:x:0:0:root:/root:/bin/bash
行号[2] 列数:7 行内容:bin:x:1:1:bin:/bin:/sbin/nologin
行号[3] 列数:7 行内容:daemon:x:2:2:daemon:/sbin:/sbin/nologin
行号[4] 列数:7 行内容:adm:x:3:4:adm:/var/adm:/sbin/nologin
行号[5] 列数:7 行内容:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
行号[6] 列数:7 行内容:sync:x:5:0:sync:/sbin:/bin/sync
行号[7] 列数:7 行内容:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
行号[8] 列数:7 行内容:halt:x:7:0:halt:/sbin:/sbin/halt