📜  sed 替换号码 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:05:08.398000             🧑  作者: Mango

Shell-Bash中使用'sed'替换号码

在Shell-Bash中,我们常常需要使用'sed'命令来替换文本中的字符串,包括替换号码。下面介绍如何使用'sed'命令替换号码。

1. 替换文件中的号码

我们可以使用以下命令将文件中的所有号码替换为指定的字符串:

sed -i 's/[0-9]\+/new_number/g' filename
  • -i表示将修改直接写入文件中。
  • s/[0-9]\+/new_number/g表示将文件中所有匹配[0-9]\+(即一个或多个数字)的字符串替换为new_number,其中g表示全局替换。
2. 替换文件中特定位置的号码

我们可以使用以下命令将文件中第n个匹配的号码替换为指定的字符串:

sed -i 's/[0-9]\+/'"$new_number"'/'"$n" filename
  • $new_number为指定的替换字符串。
  • $n为匹配的次数。
  • s/[0-9]\+/'"$new_number"'/'"$n"表示将文件中第n个匹配[0-9]\+的字符串替换为$new_number
3. 替换变量中的号码

我们可以使用以下命令将变量中的所有号码替换为指定的字符串:

new_var=$(echo "$old_var" | sed 's/[0-9]\+/new_number/g')
  • "$old_var"表示原变量。
  • sed 's/[0-9]\+/new_number/g'表示将变量中所有匹配[0-9]\+的字符串替换为new_number
4. 替换变量中特定位置的号码

我们可以使用以下命令将变量中第n个匹配的号码替换为指定的字符串:

new_var=$(echo "$old_var" | sed 's/[0-9]\+/'"$new_number"'/'"$n")
  • $new_number为指定的替换字符串。
  • $n为匹配的次数。
  • sed 's/[0-9]\+/'"$new_number"'/'"$n"表示将变量中第n个匹配[0-9]\+的字符串替换为$new_number

以上就是使用'sed'命令替换号码的方法。在实际开发中,我们可能会用到更多的替换方式,但基本思路都是一样的。