以下是一个示例脚本,它从文件中读取字符串并将其所有的匹配项替换为指定的值:
#!/bin/bash
filename=$1 # 要读取的文件名称
search=$2 # 要搜索的字符串
replace=$3 # 要替换的值
# 将所有的匹配项替换为指定的值
sed -i "s/$search/$replace/g" $filename
echo "替换完成"
使用以上脚本,我们可以将文件 example.txt 中所有 foo 的匹配项替换为 bar:
$ ./replace.sh example.txt foo bar
替换完成
注意事项:
sed 命令中,我们使用了 -i 选项,它表示修改文件内容。s/old/new/g 的格式,其中 s 表示替换操作,old 是要搜索的字符串,new 是要替换成的字符串,g 表示全局匹配,即替换所有匹配项。$ 符号进行引用。在 sed 命令中,我们使用双引号 " 将字符串括起来,以便变量能够被替换为其值。