1. BEGIN,后面可不加文件 awk 'BEGIN {"date" | getline d; print d}' awk 'BEGIN {"date" | getline d; split(d,mon); print mon[2]}' awk 'BEGIN {while("ls" | getline d) print d}' awk 'BEGIN{printf "What is your name? "; getline name <"/dev/tty"} $1~name {print "Found", name, "on line", NR, "."} END {print "See you," name, "."}' test awk 'BEGIN{while(getline<"/etc/passwd" >0) lc++; print lc}' 2. 数组 awk '{name[x++]=$1}END{for(i-0;i<NR;i++) print i,name[i]}' test awk '{name[NR]=$1}END{for(i in name) print i, name[i]}' test awk '{name[$1]++}END{for(i in name) print i}' test 3. 内置函数 sub (regular expression, substitution string) sub (regular expression, substitution string, target string) gsub (regular expression, substitution string) gsub (regular expression, substitution string, target string) index(string, substring) awk 'BEGIN{print index("mytest","test")}' # 3 length(string) length awk 'BEGIN{print length("test")}' # 4 awk '{print length}' test # length of each row substr( string, starting position ) substr( string, starting position, length of string ) awk 'BEGIN{print substr("hello world",7,5)}' match( string, regular expression ) awk 'BEGIN{print match("this is a test",/[a-z]+$/)}' # 11 awk 'BEGIN{print match("this is a test",/[a-z]+$/),RSTART,RLENGTH}' # 11 11 4 toupper( string ) tolower( string ) split( string, array, field separator ) split( string, array ) awk 'BEGIN{"date"|getline d;split(d,time);print time[4]}' # 17:43:52 systime() awk 'BEGIN{print systime()}' # seconds since 1970/01/01 00:00:00 strftime( [format specification][,timestamp] ) %a 星期几的缩写(Sun) %A 星期几的完整写法(Sunday) %b 月名的缩写(Oct) %B 月名的完整写法(October) %c 本地日期和时间 %d 十进制日期 %D 日期 08/20/99 %e 日期,如果只有一位会补上一个空格 %H 用十进制表示24小时格式的小时 %I 用十进制表示12小时格式的小时 %j 从1月1日起一年中的第几天 %m 十进制表示的月份 %M 十进制表示的分钟 %p 12小时表示法(AM/PM) %S 十进制表示的秒 %U 十进制表示的一年中的第几个星期(星期天作为一个星期的开始) %w 十进制表示的星期几(星期天是0) %W 十进制表示的一年中的第几个星期(星期一作为一个星期的开始) %x 重新设置本地日期(08/20/99) %X 重新设置本地时间(12:00:00) %y 两位数字表示的年(99) %Y 当前月份 %Z 时区(PDT) %% 百分号(%) awk 'BEGIN{print strftime("%D", systime())}' awk 'BEGIN{print strftime("%m/%d/%y",systime())}'
相关推荐
根据提供的文件信息,以下是对“awk小结(by ruson)”中提到的关键知识点的详细解释: ### 一、awk简介 #### 1. awk是什么? - **awk** 是一种强大的文本处理工具,在Linux和Unix环境中广泛使用。 - 它可以进行...
《awk小结(by ruson)》是一份关于awk命令的详细总结,主要针对shell脚本编程和Linux系统操作。awk是一种强大的文本分析工具,常用于处理结构化的数据文件,如日志、CSV或TSV文件。它允许用户通过指定模式和动作来...
### awk用法小结 #### 一、awk简介与特点 **awk** 是一款非常强大的文本处理工具,尤其适用于处理结构化的文本文件,比如那些按照行和列组织的数据。相较于 **sed**,**awk** 提供了更为丰富的编程功能,能够进行...
awk是Linux/Unix环境下强大的文本分析工具,常用于处理结构化的数据文件,如CSV、TSV格式或由制表符分隔的文件。..."awk小结(by ruson).pdf"文件应该包含了更多awk的实用技巧和实例,值得仔细研读。
### awk详细用法小结 #### 一、awk简介与版本 awk是一种强大的文本分析工具,主要用于Linux/Unix系统下的数据处理与报告生成。它支持正则表达式、模式匹配和复杂的文本处理功能,是系统管理员和程序员进行数据处理...
### awk用法小结 本篇文章旨在为初学者提供关于`awk`命令的基本用法介绍。`awk`是一种强大的文本处理工具,在Linux和Unix环境中非常常用。它支持数据的提取、处理以及报告生成等操作。下面我们将根据提供的部分示例...
awk是一种强大的文本分析工具,由Alfred V. Aho、Peter J. Weinberger和Brian W. Kernighan三位计算机科学家开发。它最初于1977年完成,并在1985年发布了增强功能的新版本。awk语言因其简洁、灵活和高效而受到广泛...
在Shell编程中,AWK是一种强大的文本分析工具,由Alfred Aho、Peter Weinberger和Brian Kernighan三位计算机科学家的名字首字母命名。AWK提供了一种简洁的语法,使得用户可以方便地处理文本数据,包括查找模式、排序...
- 提供的两个文档——"Shell编程下的AWK语法小结.doc"和"AWK使用手册.doc"是深入理解awk的优秀资料,包含了大量实例和解释,建议仔细研读。 通过这些知识点的学习和实践,你将能够熟练运用awk进行数据处理和文本...
The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep. set time = 12:34:56set hr = `echo $time | awk ‘{split($0,a,”:” ); print a[1]}’` # = 12set sec = `echo...
### awk中NR和FNR的区别详解与实例演示 在学习awk这一强大的文本处理工具时,了解NR和FNR这两个变量的用法对于高效地进行数据处理尤为重要。本文将详细介绍NR和FNR的区别,并通过实际例子来帮助理解它们各自的功能...
在awk编程语言中,RS(Record Separator)、ORS(Output Record Separator)、FS(Field Separator)和OFS(Output Field Separator)是四个重要的变量,它们分别用于处理输入和输出的数据分割。以下是对这些变量的...
梁博shell脚本训练集训学习小结V0.11 在 Linux 操作系统中, shell 脚本是非常重要的一部分。shell 脚本可以帮助用户自动化repeatitive任务,提高工作效率。梁博shell脚本训练集训学习小结V0.11主要讲述了shell脚本...
2.echo $a|awk ‘{print substr(,1,8)}’ 3.echo $a|cut -c1-8 4.echo $ 5.expr $a : ‘\(.\\).*’ 6.echo $a|dd bs=1 count=8 2>/dev/null 二、按指定的字符串截取 1、第一种方法: ${varible##*string} 从左向右...
目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他...16.4 小结 153