查看“Awk”的源代码
←
Awk
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
==基本用法== awk [ -F re] [parameter...] ['prog'] [-f progfile][in_file...] ==参数说明== -F re:允许awk更改其字段分隔符。默认是空格 parameter: 该参数帮助为不同的变量赋值。 'prog': awk的程序语句段。这个语句段必须用单引号 ' ' 括起,以防被shell解释。这个程序语句段的标准形式为: 'pattern {action}' 其中pattern参数可以是egrep正则表达式中的任何一个,它可以使用语法/re/再加上一些样式匹配技巧构成。与sed类似,你也可以使 用","分开两样式以选择某个范围。 你可以省略pattern和action之一,但不能两者同时省略,当省略pattern时没有样式匹配,表示对所有行(记录)均执行操作,省略 action时执行缺省的操作��在标准输出上显示。 awk不修改输入文件。如果未指定输入文件,awk将接受标准输入,并将结果显示在标准输出上。awk支持输入输出重定向。 在awk中,缺省的情况下总是将文本文件中的一行视为一个记录,而将一行中的某一部分作为记录中的一个字段。为了操作这些不同的字段,awk借用 shell的方法,用$1,$2,$3...这样的方式来顺序地表示行(记录)中的不同字段。特殊地,awk用$0表示整个行(记录)。 ==例子== *显示文件中含有doc的记录 $awk '/sun/' mydoc 注:由于显示整个记录(全行)是awk的缺省动作,因此可以省略action项。 *显示文件myfile中的行号和第3字段: $awk '{printf"%03d%s",NR,$1}' myfile *显示文本myfile中所有超过80个字符的行号 $awk 'length($0)>80 {print NR}' myfile 注:这里用$0表示整个记录(行),同时,内置变量NR(行号)不使用标志符'$'。 length() 内置函数 *将竖排的数据生成横排数据 $awk '{printf("%s,",$1)}' filename > newfile *将横排的数据生成竖排 $awk -F, '{i=1 ;while ( i <= NF ) {print $i;i++}}' file1 >file2 *read from "ls *zip", seperate it with '/' and assign them to $1, $2, then mkdir $2, "|sh" make it execute. $ls *zip |awk -F/ '{print $1, $2}' |awk '{print "mkdir "$2}' |sh *显示奇偶行用awk可以这样: $awk 'NR%2==0' file $awk 'NR%!=0' file *删除空行还可以这样 $awk 'NF>0' file
返回至“
Awk
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
社群首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息