美文网首页Bash
Bash 脚本中的字符串替换

Bash 脚本中的字符串替换

作者: 舌尖上的大胖 | 来源:发表于2022-01-23 11:58 被阅读0次
Talk is cheap. Show me the code.
#!/bin/bash

# 变量初始值
original_str='aa.bb.cc'
echo "原始字符串:$original_str"


echo '方法一:变量替换 ==========================================================='
# 将第一个字符 b 替换为 x
new_str=${original_str/b/x}
echo "使用变量替换第一个匹配字符:$new_str"

# 将所有字符 b 替换为 x
new_str=${original_str//b/x}
echo "使用变量替换所有匹配字符:$new_str"

echo '方法二:sed 替换 =========================================================='
# 将第一个字符 b 替换为 x
new_str=$(echo $original_str | sed 's/b/x/')
echo "使用 sed 替换第一个匹配字符:$new_str"

# 将所有字符 b 替换为 x
new_str=$(echo $original_str | sed 's/b/x/g')
echo "使用 sed 替换所有匹配字符:$new_str"

echo '方法三:awk 替换 =========================================================='
# 将第一个字符 b 替换为 x
new_str=$(echo $original_str | awk '{gsub(/b/, "x", $2); print $0}')
echo "使用 awk 替换第一个匹配字符:$new_str"

# 将所有字符 b 替换为 x
new_str=$(echo $original_str | awk '{gsub(/b/, "x"); print $0}')
echo "使用 awk 替换所有匹配字符:$new_str"

这里提供了三种方法:

  • 直接通过变量替换
    最为简单直接,使用方便,适合简单替换的场景
  • 通过 sed 命令替换
    支持正则表达式,使用稍微繁琐,功能强大
  • 通过 awk 命令替换
    使用麻烦,但最为灵活,可以指定替换细节

参考:

(完)

相关文章

网友评论

    本文标题:Bash 脚本中的字符串替换

    本文链接:https://www.haomeiwen.com/subject/xmjmhrtx.html