Linux-字符串截取

第一种使用cut:

一般常用的命令

echo "hello world" |cut -d" " -f1 
#hello
echo "hello world" |cut -d" " -f2
#world
echo "hello world" |cut -d" " -f1-
#hello world
 
echo "hello world" |cut -c 1
#h
echo "hello world" |cut -c 1-4
#hell
echo "hello world" |cut -c 1,2,5
#heo
 
echo "测试字符串" |cut -bn 1
#测
echo "测试字符串" |cut -bn 1-
#测试字符串

-d 表示分割的字符,这里只能使用单字符,比较有局限性。与-f 配合使用

-c 表示以字符分割,1表示获取第一个字符,1-4,表示获取1到4的字符,1-表示获取第一个字符以及后边所有的字符

-b 表示以字节分割,和-c的用法相同,但是是以一字节(8bit)分割,如果是中文,则可能出现乱码。一般与n配置使用,表示不允许将多字节的字符按字节分开

-f 表示输出的字段(域)(从1开始计数),1表示输出分割后的第一个字段 1-表示输出字段1以及后边的所有字段

第二种办法 shell变量中切割字符串:

1.获取字符串的长度

string="hello world"
${#string} # 11

2.删除从左边开始到指定字符第一次出现的字符并保留右边字符

string="http://www.test.com"
echo ${string#*//} # www.test.com

3.删除从左边开始到指定字符最后一次出现的字符并保留右边字符

string="http://www.test.com/index.html"
echo ${string##*/} # index.html

4.删除从右边开始到指定字符第一次出现的字符并保留左边字符

string="http://www.test.com/index.html"
echo ${string%/*} # http://www.test.com

5.删除从右边开始到指定字符最后一次出行字符并保留左边字符

string="http://www.test.com"
echo ${string%%/*} # http:

6.从左开始到指定字节数获取字符串中的子串(按照字节截取)格式(${string:起始字节:字节数})

string="hello world"
echo ${string:0:7} # hello w

7.从左开始到指定字节数获取字符串中的子串(从起始字节开始到结束)格式(${string:起始字节})

string="hello world"
echo ${string:7} # orld

8.从右开始到指定字节数获取字符串中的子串(按照字节获取)格式 (${string:0-起始:字节数})

string="hello world"
echo ${string:0-5:3} # wor

9.从右开始到指定字节数获取字符串中的子串 (从起始字节开始到字符串末尾) ${string:0-5}

string="hello world"
echo ${string:0-5} # world
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值