shell脚本中字符串截取的方法

本文介绍Shell中常用的字符串操作方法,包括删除指定位置的字符串、截取特定部分等实用技巧,并解释了这些操作的实际应用场景。

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

假设有一个字符串:http://write.blog.youkuaiyun.com/mdeditor

1.删除从左开始第一个匹配字符串及其左边的所有字符串

${str#*regx}

str=http://write.blog.youkuaiyun.com/mdeditor
echo ${str#//}

这里写图片描述

2.删除从左开始最后一个匹配字符串及其左边的所有字符串

${str##*regx}

str=http://write.blog.youkuaiyun.com/mdeditor
echo ${str##*/}

这里写图片描述

3.删除从右开始第一个匹配字符串及其右边的所有字符串

${str%regx*}

str=http://write.blog.youkuaiyun.com/mdeditor
echo ${str%/*}

这里写图片描述

4.删除从右开始最后一个匹配字符串及其右边的所有字符串

${str%%regx*}

str=http://write.blog.youkuaiyun.com/mdeditor
echo ${str%%/*}

这里写图片描述

5.从左边第几个字符开始,及字符的个数

${str:0:7}

str=http://write.blog.youkuaiyun.com/mdeditor
echo ${str:0:7}

其中的 0 表示左边第一个字符开始,7表示7个字符

这里写图片描述

6.从左边第几个字符开始,一直到结束。

${str:7}

7 表示左边第8个字符开始,一直到结束。

str="http://write.blog.youkuaiyun.com/mdeditor"
echo ${str:7}

这里写图片描述

7.从右边第几个字符开始,及字符的个数。

${str:0-8:8}

0-8表示右边算起第八个字符开始,8表示字符的个数。

str=http://write.blog.youkuaiyun.com/mdeditor
echo ${str:0-8:8}

这里写图片描述

8.从右边第几个字符开始,一直到结束。

${str:0-12}

表示从右边第十二个字符开始,一直到结束。

str=http://write.blog.youkuaiyun.com/mdeditor
echo ${str:0-12}

这里写图片描述

注:左边的第一个字符是用 :0 表示,右边的第一个字符用 :0-1 表示

9.用cut工具截取

cut可以将一段新的某一段“切”出来,处理的信息是以“行”为单位。

-d 后面接分割字符,与-f一起使用
-f 依据-d的分割字符将一段信息切割成为数段,用-f取出几段的意思
-c 以字符的单位取出固定字符区间

这里写图片描述

cut的主要用途以及不足

cut主要的用途在于将同一行里面的数据进行分解,最常使用在分析一些数据或文字数据的时候。这是因为有时候我们会以某些字符当作切割的函数,然后来将数据加以切割,以取得我们所需要的数据。

如果文件里面的某些域是由若干个空格来间隔的,那么用cut就有点麻烦了,因为cut只擅长处理“以一个字符间隔”的文本内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值