linux对一个变量进行切割提取

对变量进行提取操作时想到如何进行获取变量进行后续传参,直接echo '变量'获取内容

如:

dest=/etc/sysconfig/network-scripts/ifcfg-eth0

1、获取echo $network=/etc/sysconfig/network-scripts

network=`echo $dest | cut -d "/" -f -4`

-d指定分隔符

-f指定区域 “-4”第四个分隔符往前区域 

“4-”第四个分隔符往后区域 

“4”第四个分隔符区域 

network=`echo ${dest%/*}` 

%号截取,删除右边字符,保留左边字符。

#/* 表示从右边开始,删除第一个 / 号及右边的字符

2、获取echo $network=ifcfg-eth0  

network=`echo $dest | cut -d "/" -f 5`
network=`echo $dest | awk -F "/" '{print $5}'`

-F指定分隔符

'{print $5}'格式指定第5个分隔符区域 

network=`echo ${dest##*/}`

## 号截取,删除左边字符,保留右边字符。

##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符

network=`echo ${dest:0-10}`

 从右边开始到第十个字符结束

3、获取echo $network=eth0

network=`echo $dest | cut -d "-" -f 3`
network=`echo $dest | awk -F "-" '{print $3}'`
network=`echo ${dest:0-4}`

 4、获取echo $network=ifcfg

network=`echo ${dest:0-10:5}`

从后面往前选中10个字符,再选出前5个字符 

格式说明
${string: start :length}从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。
${string: start}从 string 字符串的左边第 start 个字符开始截取,直到最后。
${string: 0-start :length}从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。
${string: 0-start}从 string 字符串的右边第 start 个字符开始截取,直到最后。
${string#*chars}从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
${string##*chars}从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
${string%%chars*}从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。
${string%chars*}从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三颗草丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值