shell脚本中字符串截取的多种方法
1.#号截取,删除左边字符,保留右边字符。
代码:echo ${var#*//}
其中var是变量名,#是运算符,*//表示从左边开始删除第一个//及左边的所有字符
示例:
结果:
2.##截取,删除左边字符,保留右边字符
代码:echo ${var##*/}
其中##*/表示从左边开始删除最后(最右边)一个/号及左边的所有字符
示例:
结果:
3.% 号截取,删除右边字符,保留左边字符
代码:echo ${var%/*}
其中%/*表示从右边开始,删除第一个/号及右边的字符
示例:
结果:
4.%%号截取,删除右边字符,保留左边字符
代码:echo ${%%/*}
其中%%/*表示从右边开始,删除最后(最左边)一个/及右边的字符
示例:
结果:
5.从左边第几个字符开始,及字符的个数
代码:echo ${var:0:5}
其中的0表示左边第一个字符开始,5表示字符的总个数
示例:
结果:
6.从左边第几个字符开始,一直到结束
代码:echo ${var:7}
其中的7表示从左边第8个字符开始,一直到结束
示例:
结果:
7.从右边第几个字符开始,及字符的个数
代码:echo ${var:0-7:3}
其中的0-7表示从右边数起第七个字符开始,3表示字符的个数
示例:
结果:
8.从右边第几个字符开始,一直到结束
代码: echo ${var:0-7}
表示从右边第七个字符开始,一直到结束
示例:
结果:
9、cut cut命令的功能是用于按列提取文件内容。cut是可以根据指定的关键词信息,针对特定的列内容进行过滤。
cut常用参数:
-s 禁止打印不包含分隔符的行
-d 根据特定的分隔符分割
-f 取特定列,可以是单列,也可以是多列
-c 根据字符取
--output-delimiter 设置截取的列以特定分隔符显示
参考实例:
(1)以冒号为间隔符,仅提取指定文件中第一列的内容:
(2)以冒号为间隔符,提取指定文件中第一列到第四列的内容:
(3)以冒号为间隔符,提取指定文件中第一列、第四列的内容
(4)仅提取指定文件中每行的前4个字符:
5)切割/etc/passwd的第2,4,6个字节
6)字符串截取 第2位之后(含第2位
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
2019-10-07 理解JPA注解@GeneratedValue的使用方法