以下是一个示例脚本,它从文件中读取字符串并将其所有的匹配项替换为指定的值:
#!/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
命令中,我们使用双引号 "
将字符串括起来,以便变量能够被替换为其值。