linux 中如何截取2个字符串中间的字符?

2.按指定的字符串截取

${varible:n1:n2}:截取变量varible从n1开始的n2个字符,组成一个子字符串。可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行:

这种形式的字符串截断非常简便,只需用冒号分开来指定起始字符和子字符串长度。

3.按照指定要求分割:

小结:shell对应字符串的处理方法很多,根据需求灵活选择。

在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。

cut [选项] 文件名 选项: -f 列号:提取第几列 -d 分隔符:按照指定分隔符分割列

$@:表示所有脚本参数的内容

$#:表示返回所有脚本参数的个数。

 $# 是传给脚本的参数个数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9 $$ 是脚本运行的当前进程ID号 $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

示例:编写如下shell脚本,保存为test.sh

如果var没有被声明, 或者其值为空, 那么就以$DEFAULT作为其值 *
如果var没有被声明, 或者其值为空, 那么就以$DEFAULT作为其值 *
如果var声明了, 那么其值就是$OTHER, 否则就为null字符串
如果var被设置了, 那么其值就是$OTHER, 否则就为null字符串
匹配之前所有以varprefix开头进行声明的变量
匹配之前所有以varprefix开头进行声明的变量

加入了“*”  不是意思是: 当然, 如果变量var已经被设置的话, 那么其值就是$var.

二、字符串操作(长度,读取,替换)

  • 前几天朋友跟我说,他被领导批评了,理由是因为加班。 我以为这是一个官高一级压死人的故事,甚至早已脑补出了一张中年油...

  • 阿樟(墨香原创) 一、千禧年基金之人弃我取 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...

  • 文 / 雨林 雪抖落 寂寞的冬情 无悔地 将自己的灵魂 落寞尘埃 飘舞着晶莹的童话 雪柔柔 凋零自己的清新 妩媚的...

  • 难以平复的情绪,凌乱不安. 想说的话太多太多,你疑似质问的语气,让我生吞了还没有出口的言语 我已记不起是秋末冬初还...

  • Linux 的字符串截取很有用。有八种方法。

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

    其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。

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

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

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

    我要回帖

    更多关于 shell根据分隔符截取字符串 的文章

     

    随机推荐