Linux 下的编程语言awk 学习

Linux大全评论236 views阅读模式

awk 是Linux系统下的一个非常有用的用于处理文件和字符串的工具,他也提供内置函数,所以他也算是一门编程语言了。起类似作用的工具还有sed,grep等。这几天我会一直学习awk。

这里我只讲awk的命令,不会涉及awk的脚本,其实两者道理是一样的。

(1) awk 处理文件:
命令方式 awk -f 域分隔符 '模式 {动作}' 文件名

每次读取文件的一行,通过域分隔符将每行分隔成若干个域 ,分别用$1,$2, $3,...$9,&(10)...表示第一个域,第二个域。。。。, $0表示一行的所有域,默认是用空格作为域分隔符,这也是一般的方法,所以-f 域分隔符一般都不用。

awk与sed,grep一样,是将文件内容读取到缓存区中,对其进行操作,再将结果输出到屏幕上,不会对源文件进行修改,如果要修改源文件,使用如下形式

awk comand filename | tee filename

模式由一些选择语句(里面含有正则表达式进行特定行的匹配)组成,他表示什么时候激发动作的产生;模式有2个特殊的字段,BEGIN与END。BEGIN 表示报头,在浏览行之前执行,END表示报尾,在所有的浏览后执行。默认的模式是打印所有行。

动作一般是{print $1....} ,就是将每一行的某些域打印出来。

下面举一些例子讲述:
$ cat file
1 nm hello 2000
2 jack good 2001
3 eric happy 2002

企鹅博客
  • 本文由 发表于 2020年6月29日 11:12:17
  • 转载请务必保留本文链接:https://www.qieseo.com/132201.html

发表评论