awk练习(内建变量、函数表)

1549阅读 0评论2011-11-27 linux_kaige
分类:Python/Ruby

-bash-3.2$ cat huanhangtihuanCU.txt 

111

222

111

222

-bash-3.2$
要变成:

111

222

111

222

尝试1:
-bash-3.2$  awk '{if($0~/^

/&&$0!~/<\/p>$/)$0=$0"

";else if($0!~/^

/)$0="

"$0}{print $0}' huanhangtihuanCU.txt 

111

222

111

222

//需要把

给删除
尝试2:
-bash-3.2$ awk '{gsub(/^.*$/,"

\1

"),print}' huanhangtihuanCU.txt 
awk: {gsub(/^.*$/,"

\1

"),print}
awk:                          ^ syntax error
-bash-3.2$ awk '{gsub(/^.*$/,"

\1

");print}' huanhangtihuanCU.txt 

-bash-3.2$ 
//得吃饭了,改天有空慢慢弄。。。败笔。。。
 {

awk提供了许多强大的字符串函数,见下表:
awk内置字符串函数

gsub(r,s)在整个$0中用s替代r
gsub(r,s,t)在整个t中用s替代r
index(s,t)返回s中字符串t的第一位置
length(s)返回s长度
match(s,r)测试s是否包含匹配r的字符串
split(s,a,fs)在fs上将s分成序列a
sprint(fmt,exp)返回经fmt格式化后的exp
sub(r,s)用$0中最左边最长的子串代替s
substr(s,p)返回字符串s中从p开始的后缀部分


substr(s,p,n)

}
返回字符串s中从p开始长度为n的后缀部分


上一篇:Linux下文件及目录的一些操作(附递归遍历目录源码)
下一篇:修改mysql密码的方法