我需要在其他文件的顶部复制变量的内容,而不删除文件的文本。
我有这段代码:
var=$(<file.txt)
sed -i -e '1i$var' file2
但只在text2的第一行写入文本“$ var”,而不是var的总内容。
任何想法?。
谢谢。
答案 0 :(得分:0)
使用shell的双引号来扩展变量:
sed -i -e "1i$var" file2
顺便说一句,你可以使用:
来避免使用sedcat file.txt file2 > _tmp && mv _tmp file2
答案 1 :(得分:0)
如果您想在变量或多个变量之后添加一些固定值,则必须在表达式周围使用双引号,并在vars周围使用花括号。
sed -i "1s/^/${var}FIXEDTEXTHERE /" file2
答案 2 :(得分:0)
cat file.txt <> file2
没有临时文件