shell 替换,匹配

>替换shell字符串:

echo ${string/23/bb}   //abc1bb42341  替换一次   
echo ${string//23/bb}  //abc1bb4bb41  双斜杠替换所有匹配    echo ${string/#abc/bb} //bb12342341   #以什么开头来匹配,根php中的^有点像  echo ${string/%41/bb}  //abc123423bb  %以什么结尾来匹配,根php中的$有点像   > 替换文件中字符串直接编辑文件选项-i,会匹配file文件中每一行的第一个book替换为books:
sed -i 's/book/books/g' file
全面替换标记g使用后缀 /g 标记会替换每一行中的所有匹配:
sed 's/book/books/g' file

判断匹配:
str="hello"
if [[ "$str" =~ ^he.* ]]then
    echo "yes"
fi

使用正则匹配字符串的开头字符需要注意:

  • he*:不要使用he*,这里的*号表示e字符0到多个,即h,以及heeee都是测试通过的
  • he.*:这里只允许包含he的字符串通过测试
  • ^he.*:这个表示是以he开头的字符串通过检测
 
分类: Shell
 

posted on   BioinformaticsMaster  阅读(169)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示