shell脚本切割字符串分割字符串(split)

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本切割字符串分割字符串(split)相关的知识,希望对你有一定的参考价值。

参考文章:【shell】shell字符串分割|文件分割|剪切|截取

比如,要将addr:192.168.1.1:分割,获取后面的ip地址

我们ifconfig的结果是:

root@xy-virtual-machine:/kyai_nv# 
root@xy-virtual-machine:/kyai_nv# ifconfig
ens33     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:192.168.1.139  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:71062 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25946 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7956811 (7.9 MB)  TX bytes:56476592 (56.4 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1377 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1377 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:27715123 (27.7 MB)  TX bytes:27715123 (27.7 MB)

root@xy-virtual-machine:/kyai_nv# 

用下面这个脚本就能将外网ip提取出来
run.sh

#!/bin/bash
NETWORK_CARD=`route | awk 'NR==3 print $8'`
IP=`ifconfig $NETWORK_CARD | grep inet | grep -v inet6 | awk 'print $2' | awk 'split($1, arr, ":"); print arr[2]'`
echo IP=$IP

以上是关于shell脚本切割字符串分割字符串(split)的主要内容,如果未能解决你的问题,请参考以下文章

TCL脚本中如何把一个字符串按空格分割后放入一个列表

编shell脚本遇到一个问题,awk能切割掉最后一个字段的值嘛?

Bat 处理字符串分割 (split功能)

python中分割字符串split切割并选择输出 逐行读取文件后字符串拼接

Java开发:字符串切割split函数——切割符转码注意事项

python之字符串切割