awk的一些参数使用

以前在也有使用过AWK,不过停留在print的基础上.

最近有要处理些数据.

就用到了动态数组, printf函数.

不过现在需要把两个文件像数据库一样连接起来.第一个想法是join命令.但是既然用了AWK顺便看下AWK能不能处理这种情况.

第一感觉是awk一次只能处理同样格式的文件.

网上搜了一下:发现有两个方案来处理两个文件的.

1. 使用NR和FNR比较. 这个方案我的理解是可以处理两类不同格式的文件.

2. 使用ARGIND参数. 这个方案可以区分多个不同格式的文件.

处理多个文件时还可以利用FILENAME参数,来识别文件名.

AWK的工具箱:

1.正则匹配

2.动态数组

3.内置参数

4.使用--re-interval命令行参数启用支持正则表达式的[0-9]{3,5}的模式.

6.原来以为prin不能换行,现在发现实际是支持换行的. 原来用printf把20多个参数写在一行上, 格式字符都快把眼看瞎了.

7. awk 自定义函数时,函数内部的变量默认是全局的,若要定义局部变量,需要在参数列表中声明参数, 局部变量参数和函数参数之间用几个空格分割开.

8. print也可以使用重定向符号。所以可以同时输出几个文件。

9. awk 'NR==7,NR==15' file: 输出7-15行,而不是输出第7行和第15行

待续

你可能感兴趣的:(正则表达式)