awk substr 左、右取字符

本文详细解释了如何使用awk命令进行字符串的左右截取操作,包括具体语法、示例以及应用案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从左截取:

参考: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



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值