Linux环境下字符串替换

介绍

字符串的替换操作是平时比较常用的操作, 将平时在Linux系统下开发使用到的字符串替换整理下来。

字符串替换

平时使用的字符串的替换主要有3种

  • vim编辑器
  • 变量的替换
  • linux命令批量替换

接下来逐个来介绍并给出示例。

vim编辑器

应用场景: 利用vim作为开发工具, 对平时开发的代码或者小文件, 完成字符串的替换。

示例:

# 情景: vim打开文件

# 全文替换字符串org替换为new
: %s/org/new/g

# 指定行之间替换 start, end为数字
:start, end s/org/new/g

# 指定行到文件末尾的替换
:start, $ s/org/new/g

变量的字符串替换

应用场景:shell脚本用到的变量的字符串替换

示例:

# shell脚本

# 初始变量
item="org.apache.commons"

# 字符串替换: 变量中首个字符串替换
# (1) ${param/org/new}: 变量param中首个org替换为new
# 特殊字符: '.' 用 '\.'替换
# dir_name="org/apache.commons"
dir_name_1=${item/\./\/}

# 字符串替换:变量中全部字符串替换
# (2) ${param//org/new}:变量param中org全部替换为new
# dir_name="org/apache/commons"
dir_name_2=${item//\./\/}

linux命令批量替换

应用场景: 不打开文件完成文件中字符串的替换, 或批量文件的字符串替换。

示例:

# linux命令行

# 利用sed命令完成单个文件字符串替换
$ sed -i "s/org/new/g" file_name

# 利用sed命令和其他linux命令, 完成批量文件字符串替换
# 目录下的.sh后缀的文件字符串替换
$ find ./ -name "*.sh" | xargs sed -i "s/org/new/g"

参考

Linux: sed命令, 具体man sed可查看

猜你喜欢

转载自blog.csdn.net/ymaini/article/details/80724806
今日推荐