如何在文本文件的特定行插入来自变量的文本?

如何在文本文件的特定行插入来自变量的文本?

我想在文本文件的某一行插入来自变量的文本。

$cat foo
hello
hello
$var=`cat foo`
$echo "$var"
hello
$cat bar
some
text

我想将 $var 插入到第二行,但是 sed 没有读取变量的内容:

sed -i -e '2i$var\' bar
hello
$var
world

我猜是因为 foo 中有两个相同的单词,所以我得到了这个:

sed: -e expression #1, char 11: extra characters after command

答案1

在 sed 中用双引号调用变量

sed -i -e "2i$var" bar

相关内容