【发布时间】:2017-04-03 15:08:48
【问题描述】:
我有一个以:
开头的脚本sed 's!'$1'!'$2'!g' file.txt > new.txt ;
$1 和 $2 是变量,第三个变量 $3 稍后在脚本中使用,脚本以这种格式执行:
./script.sh variable variable2 variable3
脚本的下一部分将第三个变量添加到文本文件中:
sed "s!><!> $3 <!4" newer.txt > newest.txt
我现在要做的是使用“newest.txt”的输出(这是一行,包括像 /"/ 这样的字符,因为它在 html 中)并替换另一个文件中的一行,该文件使用 variable2 标识作为比赛。
这是我所拥有的,但它似乎并没有取代整行,只是部分。
for i in `cat newest.txt` ;
do
sed '/$2/s/.*/$i/' new.txt > final.txt
done
我在使用 sed 时不允许使用 -i 开关的 Solaris。 sed、awk 或 bash 会更好。
提前致谢!
【问题讨论】:
-
一些示例数据和预期输出怎么样?