Shell中字符串的切割、拼接、比较、替换
【截取】
一、Linux shell 截取字符变量的前8位,有方法如下:
1 | expr substr “$a” 1 8 |
:
二、按指定的字符串截取
第一种方法:
1 2 3 4 5 | ${varible ##*string} # 从左向右截取最后一个string后的字符串 ${varible #*string} #从左向右截取第一个string后的字符串 ${varible%%string*} #从右向左截取最后一个string后的字符串 ${varible%string*} #从右向左截取第一个string后的字符串 #“*”只是一个通配符可以不要 |
第二种方法:
1 | ${varible:n1:n2}:截取变量varible从n1到n2之间的字符串。 |
三、按指定要求分割
比如获取文件后缀名:
【拼接】
一、拼接字符
二、拼接字符串
【字符串比较】
1 2 3 4 5 6 7 | -n 判断不为空 -z 判断是否为空 相等比较 == 或者= 不相等 != 小于 需要转义 \< 大于 需要转义 > 另外字符串提取中双引号”” 和 单引号‘ ’区别在于单引号不进行任何的变量解释,就是字符串,而双引号会对其进行解释 |
【替换】
替换命令:
1 2 3 4 5 6 | ${变量/查找/替换值} 一个 '/' 表示替换第一个 '//' 表示替换所有,当查找出中出现了: "/" 需要转移成 "\/" [chengmo@localhost ~]$ test = 'c:/windows/boot.ini' [chengmo@localhost ~]$ echo ${ test /\ // \\} c:\windows /boot .ini [chengmo@localhost ~]$ echo ${ test // \ // \\} c:\windows\boot.ini |
博客整理自:
http://www.jb51.net/article/56563.htm
http://blog.csdn.net/edwzhang/article/details/53332900
http://www.jb51.net/article/56559.htm
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)