以/etc/passwd为例,以下均简称为passwd,这个文件是以:分隔的
1. 格式化输出:
将文件的第一、二、三列格式化输出
# awk -F: '{print "%-2s %-2s %-2s\n",$1,$2,$3,FNR}' passwd
注意:
1.-F: 的意思就是指定分隔符 表示以:分割的,默认为空格分割
2.FNR:表示在末尾显示行号
2.切割出第一列
# awk -F: '{print $1}' passwd
或
# awk 'BEGIN{FS=":"} {print $1}' passwd
指定多个分隔符:
# awk -F '[;:]'
3.切割出一到四列
# awk -F: '{for(i=1;i<5;i++) {printf $i " "}; printf"\n"}' passwd
注意:printf"\n" 表换行
4.切割出第一行
# awk -F: 'NR==1' passwd
NR 表示行号
5.切割出第一列为root并且第二列为x的行
# awk -F: '$1=="root" && $2=="x"' passwd
6.OFS:输出字段分隔符,默认也是空格
# awk -F: '{print $1,$3,$6}' OFS="\t" passwd
7.切割出第一列以:分隔的以ot结尾的或行号为3的行,打印出其对应的行号及第四列
# awk -F: '$1 ~ /.*ot/ || NR==3 {print NR,$4}' passwd
8.将第一列和第二列的内容重定向到以第三列内容命名的文件中
# awk -F: 'NR<3 {print $1,$2 > $3}' passwd