引用:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html
awk [-F ':' ] '{print $1}' filename cat filename | awk [-F ':' ] '{print $1}' [root@local yang] ntp---/sbin/nologin apache---/sbin/nologin saslauth---/sbin/nologin postfix---/sbin/nologin pulse---/sbin/nologin nameEND,shellEND 搜索并打印所在行 [root@local yang] root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin
$0变量是指整条记录。$1表示当前行的第一个域,$2表示当前行的第二个域,......以此类推
搜索并打印所在行(过滤输出) [root@local yang] root operator 内置变量 ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME awk浏览的文件名(输入是文件的时候才会有文件名 如果是搜索别的命令的输出 则不会有文件名) FNR 浏览文件的记录数 FS 设置输入域分隔符,等价于命令行 -F选项 NF 浏览记录的域的个数(列) NR 已读的记录数(行) OFS 输出域分隔符 ORS 输出记录分隔符 RS 控制记录分隔符 变量输出示例 [root@local yang] filename:/etc/passwd no:1 cols:7 filename:/etc/passwd no:2 cols:7 ...... 使用printf [root@local yang] filename:/etc/passwd no:1 cols:7 root:x:0:0:root:/root:/bin/bash filename:/etc/passwd no:2 cols:7 bin:x:1:1:bin:/bin:/sbin/nologin filename:/etc/passwd no:3 cols:7 daemon:x:2:2:daemon:/sbin:/sbin/nologin filename:/etc/passwd no:4 cols:7 adm:x:3:4:adm:/var/adm:/sbin/nologin filename:/etc/passwd no:5 cols:7 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin filename:/etc/passwd no:6 cols:7 sync:x:5:0:sync:/sbin:/bin/sync filename:/etc/passwd no:7 cols:7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown ...... awk编程
变量示例 [root@local yang] 1 root 2 bin 3 daemon 7 shutdown ...... ...... 35 www 36 mysql cnt:36 统计文件夹下文件占用字节数(不含子文件夹) [root@local yang] total size:126062 以M计算 [root@local yang] total size:126062 循环 [root@local node_modules] 1 root 2 bin ...... awk分割大文件并 awk 'NR%12==1{close(p".txt");++p}{print > p".txt"}' filename
|