
awk
ama2000
这个作者很懒,什么都没留下…
展开
-
awk 去空格
sub(/^[[:blank:]]*/,"",变量) 是去掉变量左边的空白符sub(/[[:blank:]]*$/,"",变量) 是去掉变量右边的空白符gsub(/[[:blank:]]*/,"",变量) 是去掉变量中所有的空白符示例:echo ' 123 456 789 ' | awk '{print "<" $0 ">";sub(/原创 2011-12-27 19:30:23 · 4759 阅读 · 0 评论 -
AWK pattern {action} 详解
准备一个数据文件 awk-sample-salary.txt 一、Pattern {Action} 详解这一节的目标:详解 Pattern和{Action}的组合方式, 这两者各自的详解请看下面这里以简单的正则表达式作为Pattern为例,(Pattern本身又有多种case、组合,请参考 “ 二、Pattern详解 ”)1.单个Pattern {Action}...原创 2011-12-10 23:43:03 · 182 阅读 · 0 评论 -
GAWK的兼容模式,传统模式
Gawk is the GNU Project’s implementation of the AWK programming language. -W posix --posix This turns on compatibility mode, with the following additional restric...原创 2011-12-10 22:44:50 · 130 阅读 · 0 评论 -
Hadoop Streaming 之 awk实现Map/Reduce
//TODO 说明 [xxuser@xxhost ~]$ hadoop jar $HADOOP_STREAMING_JAR \> -input /test/ylb/mock_data/cv-pt-demo.txt \> -output /test/ylb/mock_data/output/cv-pt-demo-10 \> -mapper...原创 2011-12-03 22:33:10 · 386 阅读 · 0 评论 -
awk 第x1行 到 第x2行
1. 用NR或者FNR来选择行范围awk 'NR==5,NR==7 {print $0}' demo.txtawk 'NR>=5 && NR<=7 {print $0}' demo.txt 两者效果一样: 输出demo.txt中从第5行 到 第7行 把 NR 换成 FNR,则表示 如果输入文件有多个,那么每个文件的第一行从0开始计数...原创 2011-12-03 20:32:55 · 200 阅读 · 0 评论 -
awk调用shell
在awk中执行shell , 返回0:成功1. result= system("shell cmd") 调用shell来获取值 并赋值给变量2. "shell cmd" |getline valueaa ; print valueaa "shell cmd" |getline ; print $0 -->如果不加变量名, 则 $0 ...原创 2011-11-30 21:41:31 · 150 阅读 · 0 评论 -
AWK的内置变量
变量描述NF该变量包含每个记录的字段个数。NR该变量包含当前的记录个数。FS该变量是字段分隔符。RS该变量是记录分隔符。OFS该变量是输出字段分隔符。ORS该变量是输出记录分隔符。FILENAME该变量包含所读取的输入文件的名称。IGNORECASE当 IGNORECASE 设置为非空值,GA...原创 2011-11-19 17:40:17 · 106 阅读 · 0 评论 -
awk代码中执行shell
思路: 在awk的print语句中拼出命令,管道输出到shell >ll | awk /txt/ '{print $9}' #列出包含 txt 的文件 假设需要把这些文件都复制一份,并更改后缀名位 doc ll |awk ' /txt/ {print "cp -r "$9" "$9".doc"}' |bash 蓝色部分 输出命令 cp -r ...原创 2011-11-18 21:12:22 · 233 阅读 · 0 评论 -
awk 引用shell变量, 变量的作用域
http://blog.sina.com.cn/s/blog_63092e670100r4th.html1. '' 单引号截断,注意:如果变量的值有空格的话,必须要加双引号""(参见上面的链接),否则空格会导致 cmd空格option空格params2.ENVRION["varName"]3.-v传递参数 GOOD:http://www.cnblogs.com/ch...原创 2011-11-18 20:54:22 · 260 阅读 · 0 评论 -
AWK数组的排序
//TODO asortiasort原创 2012-01-12 00:12:50 · 135 阅读 · 0 评论 -
AWK数组
1.判断是否存在某个key时的怪现象//TODO 2.asort之后,下标变成1,2,3,4... 3.array["5"]="hello"; print array[5]; ?? print array[1]; ?? 4.AWK的字符串化解释了 第3条中的怪现象参见 http://www.ibm.com/developerworks/...原创 2012-01-11 23:56:39 · 87 阅读 · 0 评论 -
awk中的字符串处理函数
//TODO 1. index 与 match的区别 2. length, substr, ........ 3. 跟正则相关的. 替换函数 sub, gsub 3. 类似的“子表达式向前引用” & 引用匹配到的子串 s="123aa456bb" ; sub("aa","[&]",s)...原创 2012-01-05 09:44:17 · 101 阅读 · 0 评论 -
awk正则表达式
1.使用ERES, (),{} 使用这两个元字符时无需转义 SO,参考ERES对BRES的扩展 DEMOecho -e "ab1\na1\nac2ab" | awk '/(ab|ac)/'echo -e "aa1\na1\nac2ab" | awk -W re-interval '/(a|b){2}/'echo -e "aa1\na1\nac2ab" | awk ...原创 2012-01-05 01:33:13 · 123 阅读 · 0 评论 -
ERES BRES的区别
参考这里 http://baiy.cn/utils/_regex_doc/index.htm 1.BRES定义的元字符 TODO 2.ERES对BRES的扩展/修改 ERE 修改了 BRE 中的部分语法,并增加了以下语法符号: ? - 最多一次匹配(零次或一次匹配)。 + - 至少一次匹配(一次或更多次匹配)。 | ...原创 2012-01-05 01:09:49 · 270 阅读 · 0 评论 -
AWK 几个特殊的内置变量
FILENAME:当前文件名 只能在Action里引用,而不能再BEGIN{}里。ARGC:命令行参数的数目;是一整数,代表命令行上除了选项-v, -f 及其对应的参数之外所有参数的个数ARGV:包含命令行参数字符串数组,ARGV[0],ARGV[1]....ARGV[ARGC-1]分别代表命令行上相对应的参数, 可以引用到文件名 FNR:和NR类似,打开一个文...原创 2011-12-28 10:17:32 · 217 阅读 · 0 评论 -
awk分隔符
分隔符,可以用正则来表示echo 'a-b.c' | awk -F'[-.]' '{print NF,$1,$2,$3}'输出->3 a b c echo 'a--b.c' | awk -F'[-.]' '{print NF,$1,$2,$3}'输出->4 a b echo 'a--b.c' | awk -F'[-.]+' '{print NF,$1,$...2013-02-04 20:12:41 · 156 阅读 · 0 评论