我有以下文件。
cat addtext
This is sparta.
Bye.
cat mainfile
abc
pqr
我希望我的输出看起来像 -
This is sparta.
abc
pqr
Bye.
即。从另一个文件的第二行添加的第一个文件的内容。 我正在尝试使用sed命令。
sed -i '1s/^/$filecontent\n/' abc.test
其中
filecontent=`cat addtext`
但它不是替换变量的值并附加值$ filecontent而不是它的内容,即addtext文件的内容。 我该如何解决这个问题?我们如何在sed中使用其他命令?
答案 0 :(得分:2)
您不需要使用cat
:
cat file2 fil1
等效的sed命令:
sed '' file2 file1
或者在第1行使用后在file1中插入file2的内容:
sed '1 r file2' file1
答案 1 :(得分:1)
LineWhere=1
File2Insert=addtext
File2Modify=mainfile
sed "${LineWhere} r ${File2Insert}" ${File2Modify} > DestinationFile
动作是r
在指定行时读取文件。变量只是在这里展示如何和通用(在这种情况下必须使用双引号)