------------恢复内容开始------------
>替换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开头的字符串通过检测
------------恢复内容结束------------