awk -F":" '{print $1 $3}' /etc/passwd //$1与$3相连输出,不分隔 awk -F":" '{print $1,$3}' /etc/passwd //多了一个逗号,$1与$3使用空格分隔 awk -F":" '{print $1 " " $3}' /etc/passwd //$1与$3之间手动添加空格分隔 awk -F":" '{print "Username:" $1 "\t\t Uid...
[rootkevin ~]# awk '{print "NR:"NR "FNR:"FNR}' test test1 NR:1FNR:1 NR:2FNR:2 NR:3FNR:3 NR:4FNR:4 NR:5FNR:5 NR:6FNR:1 NR:7FNR:2 NR:8FNR:3 NR:9FNR:4 NR:10FNR:5 打印的两列之间加上空格 [rootkevin ~]# awk '{print "NR:"NR " " "FNR:"FNR}' test test1 NR:...
FNR: 当前输入文件的记录数目 当awk读取多个文件时,NR代表的是当前输入所有文件的全部记录数,而FNR则是当前文件的记录数。如下面的例子: $ awk'{print FILENAME, "FNR= ", FNR," NR= ", NR}'student-marks bookdetails student-marks FNR=1NR=1student-marks FNR=2NR=2student-marks FNR=3NR=3student-...
最后一行是时间信息,中间隔着一行空行,如要是进一步只选取账户和IP可以使用sed命令: 由以上例子可以看出awk工作流程:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,0则表示所有域,1表示第一个域,n表示第n个域。默认域分隔符是空格键或[tab]键,所以1表示登录用户, 可以使用-F强制...
ARGV:array, 1 elements BINMODE:number (0) CONVFMT:string ("%.6g") ERRNO:number (0) FIELDWIDTHS:string ("") FILENAME:string ("-") FNR:number (5) FS:string (" ") IGNORECASE:number (0) LINT:number (0) NF:number (1) NR:number (5) ...
在awk中,FNR指的是当前文件中的记录号(通常是行号)并NR引用总记录号。运算符==是一个比较运算符,...
data11 FNR=1 NR=1 data21 FNR=2 NR=2 data31 FNR=3 NR=3 data11 FNR=1 NR=4 data21 FNR=2 NR=5 data31 FNR=3 NR=6 There were 6 records processed 由此可以看出,当只使用一个数据文件作为输入时,FNR 和 NR 的值是相同的;如果使用多个数据文件作为输入,FNR 的值会在处理每个数据文件时被重置...
RS、ORS、NR、FNR、FILENAME、ARGC、ARGV这些术语对于我们来说是新接触的,但是触类旁通,RS其实与FS类似,ORS与OFS类似,FS是字段输入分隔符,RS是行输入分隔符,OFS是字段输出分隔符,ORS是行输出分隔符,它们的原理都很相似。 5.2内置变量NR 如下图所示,test1文件中一共有两行文本,使用空格隔开,第1行有4列,第2行...
awk'{sum += $1} END {print sum}'file 打印最大值: awk'max < $1 {max = $1} END {print max}'file 格式化输出: awk'{printf "%-10s %-10s\n", $1, $2}'file 基本用法 log.txt文本内容如下: 2thisisa test3Doyou like awkThis's a test 10 There are orange,apple,mongo ...
#cat /etc/passwd |awk -F ':' '{print $1"\t"$7}' root /bin/bash daemon /bin/sh bin /bin/sh sys /bin/sh 1. 2. 3. 4. 5. 如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。