从左截取:
参考: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