awk substr 左、右取字符

来源:互联网 发布:那个软件看寅唱会 编辑:程序博客网 时间:2024/05/22 03:44

从左截取:

参考:http://yhj1065.blog.163.com/blog/static/198002172007744121626/


substr($4,20)     --->  表示是从第4个字段里的第20个字符开始,一直到设定的分隔符","结束.

substr($3,12,8)  --->  表示是从第3个字段里的第12个字符开始,截取8个字符结束.


示例:

$echo "this is a test,test" |awk -F',' '{print substr($1,1,4)"," substr($2,1) } '     //以,为分隔符,取第一子串的从第一个字符开始的4个字符和第二子串的第一个字符开始的全部字符,且以“,”分割符打印输出

$this,test        //


从右截取:

参考:http://bbs.chinaunix.net/thread-505907-1-1.html


awk '{print substr($0,1,length($0)-4)}'   //表示对整个字符串,取去掉自右开始的4个字符后的字符串

示例:

$echo "this is a test,test" |awk '{print substr($0,1,length($0)-4)}'             
$this is a test,

awk -F, '{print substr($1,length($1)-0)}'    // 


示例:

$echo "this is a test,test" |awk -F, '{print substr($1,length($1)-0)}'      //取自右开始的第一个字符
t
$echo "this is a test,test" |awk -F, '{print substr($1,length($1)-1)}'   //取自右开始的前两个字符
st

$echo "this is a test,test"|awk '{print length($0)}'   // 获取字符串长度

19


带有目录的字符串

 $echo 'z:\testPath\te_120200\' |awk '{print length($0)}'    //双引号和不加引号都不能达到识别字符串的目的
22



原创粉丝点击