Awk命令简介
2017-08-06 22:59
363 查看
一.awk命令简介
Awk是linux环境下的一个用于文本处理的编程语言工具。Awk按行读入,然后根据相应的命令来对文本进行操作,默认情况下把空格作为分隔符。
二.语法
awk'{pattern + action}' {filenames}
其中,pattern表示 AWK 在数据中查找的内容,而 action是在找到匹配内容时所执行的一系列命令。花括号{}不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用斜杠/括起来。
三.调用方法
Awk有三种调用方法:
1.命令行方式
2.shell脚本方式
3.将所有awk命令插入一个单独的文件调用
四.使用实例
1.patten使用实例
搜索/etc/passwd有root关键字的所有行
这种是pattern的使用示例,匹配了pattern(这里是root)的行才会执行action(没有指定action,默认输出每行的内容)。
2. awk+action的示例
显示/etc/passwd的账户
每行都会执行action{print$1}。-F指定域分隔符为':'。
Awk是linux环境下的一个用于文本处理的编程语言工具。Awk按行读入,然后根据相应的命令来对文本进行操作,默认情况下把空格作为分隔符。
二.语法
awk'{pattern + action}' {filenames}
其中,pattern表示 AWK 在数据中查找的内容,而 action是在找到匹配内容时所执行的一系列命令。花括号{}不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用斜杠/括起来。
三.调用方法
Awk有三种调用方法:
1.命令行方式
awk [-F field-separator] 'commands' input-file(s)
其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。
在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。
2.shell脚本方式
将所有的awk命令插入一个文件,并使awk程序可执行,然后awk命令解释器作为脚本的首行,一遍通过键入脚本名称来调用。
相当于shell脚本首行的:#!/bin/sh
可以换成:#!/bin/awk
3.将所有awk命令插入一个单独的文件调用
awk -f awk-script-file input-file(s)
其中,-f选项加载awk-script-file中的awk脚本,input-file(s)跟上面的是一样的。
四.使用实例
1.patten使用实例
搜索/etc/passwd有root关键字的所有行
#awk -F: '/root/' /etc/passwd
root:x:0:0:root:/root:/bin/bash
这种是pattern的使用示例,匹配了pattern(这里是root)的行才会执行action(没有指定action,默认输出每行的内容)。
2. awk+action的示例
显示/etc/passwd的账户
#cat /etc/passwd |awk -F ':' '{print $1}'
root
daemon
bin
sys
每行都会执行action{print$1}。-F指定域分隔符为':'。
相关文章推荐