shell编程里面的 (AWK命令详解)

awk命令详解:

awk是一个功能非常强大的文档编辑工具,它不仅能以行为单位还能以列为单位处理文件。

命令格式:

awk [参数] '[ 动作]' [文件名]

常见参数:

-F 指定行的分隔符

常见动作:

print 显示内容

$0 显示当前行所有内容

$n 显示当前行的第n列内容,如果存在多个$n,它们之间使用逗号(,)隔开

常见内置变量

FILENAME 当前输入文件的文件名,该变量是只读的

NR 指定显示行的行号

NF 输出 最后一列的内容

OFS 输出格式的列分隔符,缺省是空格

FS 输入文件的列分融符,缺省是连续的空格和Tab

命令演示

模板文件内容

admin-1@ubuntu:~$ cat awk.txt

nihao awk awk awk

nihao awk awk awk

打印指定列内容

打印第1列的内容

admin-1@ubuntu:~$ awk '{print $1}' awk.txt

nihao

nihao

指定行打印内容

打印第一行第1和第3列内容

admin-1@ubuntu:~$ awk  'NR==1 {print $1,$3}' awk.txt

nihao awk

指定隔离分隔符,查看内容

admin-1@ubuntu:~$ cat linshi.txt

root:x:0:0:root:/root:/bin/bash

admin-1@ubuntu:~$ awk -F ':' '{print $1,$7}' linshi.txt

root /bin/bash

设置显示分隔符,显示内容

admin-1@ubuntu:~$ awk 'BEGIN{OFS=":"} {print NR,$0}' awk.txt

1:nihao awk awk awk

2:nihao awk awk awk

你可能感兴趣的:(shell)