Bash Script中的SED用于复制文件中变量的内容

时间:2013-12-04 14:44:15

标签: bash sed

我需要在其他文件的顶部复制变量的内容,而不删除文件的文本。

我有这段代码:

var=$(<file.txt)
sed -i -e '1i$var' file2

但只在text2的第一行写入文本“$ var”,而不是var的总内容。

任何想法?。

谢谢。

3 个答案:

答案 0 :(得分:0)

使用shell的双引号来扩展变量:

sed -i -e "1i$var" file2

顺便说一句,你可以使用:

来避免使用sed
cat file.txt file2 > _tmp && mv _tmp file2

答案 1 :(得分:0)

如果您想在变量或多个变量之后添加一些固定值,则必须在表达式周围使用双引号,并在vars周围使用花括号

sed -i "1s/^/${var}FIXEDTEXTHERE /" file2

答案 2 :(得分:0)

cat file.txt <> file2

没有临时文件