网站建设知识及维护技巧,Wordpress怎么配合HTML,足球直播网站开发定制,福鼎建设局网站awk简介
awk: 中文意思是报告生成器 能够根据我们输入的信息#xff0c;将信息格式化以后显示#xff0c;将定义好的信息以比较美观#xff08;直观#xff09;的方式显示出来出现比较早#xff0c;继而出现了new awk#xff08;nawk#xff09;在windows上实现#x…awk简介
awk: 中文意思是报告生成器 能够根据我们输入的信息将信息格式化以后显示将定义好的信息以比较美观直观的方式显示出来出现比较早继而出现了new awknawk在windows上实现gawk, awk实现在linux上。awk是一种编程语言用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能是linux/unix下的一个强大编程工具。它在命令行中使用但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的它逐行扫描文件从第一行到最后一行寻找匹配的特定模式的行并在这些行上进行你想要的操作。如果没有指定处理动作则把匹配的行显示到标准输出(屏幕)如果没有指定模式则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母分别是Alfred Aho、Brian Kernighan、Peter Weinberger。gawk是awk的GNU版本它提供
了Bell实验室和GNU的一些扩展。下面就对awk进行介绍。
awk使用的基本格式
# awk [options] script file1 file2, ... # awk [options] PATTERN { action } file1 file2, ...细化了上面的组合 常用的命令print输出, printf打印
awk工作过程
根据我们所定义的模式一次从文件中读取一行文本awk会对取出的文本做相应的切片将每一行按照分隔符进行切割假如我们有一行文本 this is a test.它会使用空白字符当做分隔符将它们各个分开切割成了四个片分别为 this is a test.这四个片可以使用变量分别对应为$1,$2,$3,$4代表四个切割片下面就做一个演示看如何实现awk的强大功能
一、awk的输出print
print的使用格式 print item1, item2, ...
输出要点
1、各项目之间使用逗号隔开而输出时则以空白字符分隔
2、输出的item可以为字符串或数值、当前记录的字段(如$1)、变量或awk的表达式数值会先转换为字符串而后再输出
3、print命令后面的item可以省略此时其功能相当于print $0, 因此如果想输出空白行则需要使用print
实例分析
显示整个文本注意这里只是测试所以只有一行 # awk {print $N} test.txt this is a test. # awk {print $0} test.txt this is a test. 显示文本的一行中的第一个参数 # awk {print $1} test.txt this 显示文本的一行中的第二个参数 # awk {print $2} test.txt is 显示文本的一行中的第四个参数 # awk {print $4} test.txt test. 显示文本的一行中的第一与第二个个参数 # awk {print $1,$2} test.txt this is 显示文本的一行中的第一个与第二个参数中间可以加#号 # awk BEGIN{OFS#}{print $1,$2} test.txt this#is 显示文本中的各个参数还可以加修饰符 # awk BEGIN{OFS:}{print $1,$2,$3,$4} test.txt this:is:a:test. 显示文本中的参数还可以加修饰符还可以加字符串 # awk BEGIN{OFS:}{print $1,hello,$2} test.txt this:hello:is 输出三行注意换行需要加\n # awk BEGIN { print line one\nline two\nline three } line one line two line three