标题:shell(bash)替换字符串大全 出处:刘新修 时间:Wed, 16 Aug 2023 11:13:34 +0000 作者:刘新修 地址:http://liuxinxiu.com:80/s/321/ 内容: 1. 替换(只替换一个)用varrB=${varA/str1/str2} C#代码 $ var="AAAszip_BBB.zip";var2=${var/zip/ZIP};echo $var2}; AAAsZIP_BBB.zip $ var="AAAszip_BBB.zip";var2=${var/.zip/.ZIP};echo $var2; AAAszip_BBB.ZIP 2. 替换(替换所有)用varB=${varA//str1/str2} C#代码 $ var="AAAszip_BBB.zip";var2=${var//zip/ZIP};echo $var2; AAAsZIP_BBB.ZIP 3. 替换(替换开头一个)用varB=${varA/#str1/str2} C#代码 $ var=".zipAAAszip_BBB.zip_CCC";var2=${var/#.zip/.ZIP};echo $var2; .ZIPAAAszip_BBB.zip_CCC 不存在varB=${varA//#str1/str2} 4. 替换(替换结尾一个)用varB=${varA/%str1/str2} C#代码 $ var="AAAszip_BBB.zip_CCC.zip";var2=${var/%.zip/.ZIP};echo $var2; AAAszip_BBB.zip_CCC.ZIP 不存在varB=${varA//%str1/str2} 而且可以很好地匹配到“.”点号 5. 截取,删除右边,保留左边,从右起最短匹配用$varB=${varAa%}, C#代码 $ a="aaa=bbb";b=${a%=*};echo $b aaa $ a="http://localhost:3000/china/shanghai.html";b=${a%/*};echo $b http://localhost:3000/china 6. 截取,删除右边,保留左边,从右起最长匹配用$varb=${vara%%}从右起最长匹配 C#代码 $ a="http://localhost:3000/china/shanghai.html";b=${a%%/*};echo $b http: 7. 截取,删除左边,保留右边,从左起最短匹配用$varb=${vara#} C#代码 $ a="aaa=bbb";b=${a#*=};echo $b bbb $ a="http://localhost:3000/china/shanghai.html";b=${a#*/};echo $b /localhost:3000/china/shanghai.html 8. 截取,删除左边,保留右边,从左起最长匹配用$varb=${vara##}从左起最长匹配 C#代码 $ a="http://localhost:3000/china/shanghai.html";b=${a##*/};echo $b shanghai.html Generated by Bo-blog 2.1.1 Release