我想在文本文件的某一行插入来自变量的文本。
$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