linux取小数点前面的字符串,linux shell 字符串匹配截取(PS: 前后的格式是不固定的)...

1.做这种字符串截取,一定要先弄清楚,哪些是变化量,哪些是不变量。

2.切割,当然是用awk来进行。

如果用cut做切割,关键字只能是单个字符char,而awk的关键字可以为字符串string。

这种能够直接切割的地方,用正则是在浪费CPU、内存,认为地增加处理时间。

3.awk切割的用法:

awk -F【关键字】 '{print $n}'

注意,-F与关键字之间无空格,关键字与【'】之间有一个空格,print与【$】之间有空格。如果关键字是空格,或者特殊字符,尝试在它左右两侧添加双引号或单引号。

切分后,n是下标,下标从1开始。

4.如果只有IP和端口是变化的,其它是不变的,那么,对于原始字符串:

echo "Connections: authenticated: 10.0.115.172::56498, as admin (Full access)"

切分,按照先整体后部分的原则,先分割冒号与空格:

1->【Connections】

2->【authenticated】

3->【10.0.115.172::56498, as admin (Full access)】

切割命令:

awk -F": " '{print $3}'

切割结果:

[root@localhost ~]# echo "Connections: authenticated: 10.0.115.172::56498, as admin (Full access)" | awk -F": " '{print $3}'

10.0.115.172::56498, as admin (Full access)

然后再把3->【10.0.115.172::56498, as admin (Full access)】按逗号与空格分割:

1->【10.0.115.172::56498】

2->【as admin (Full access)】

1即为所求。

切割命令:

awk -F", " '{print $1}'

切割结果:

[root@localhost ~]# echo "Connections: authenticated: 10.0.115.172::56498, as admin (Full access)" | awk -F": " '{print $3}' | awk -F", " '{print $1}'

10.0.115.172::56498

测试平台:RHEL5.x、CentOS 5.x

打完这么多【切割】二字,只觉得JJ凉飕飕的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值