我有一个文件File1.txt,其中包含以下内容:
abc
def
ghi
我还有另一个文件File2.txt,其中包含以下内容:
123
456
789
我想将文件1的内容添加到789以上以提供:
123
456
abc
def
ghi
789
最终使用sed或awk。我在使用过的地方尝试了一种解决方法:
file1="$(cat File1.txt)"
sed -i "/^789/i $file1 " File2.txt
但是,这无法按预期工作。任何帮助将不胜感激,谢谢您的专业知识。
使用GNU sed执行cat
:
sed '/^789$/e cat file1' file2
输出:
123456abc定义吉789
[在每个UNIX盒的任何外壳中的任何awk中,对于789
的任何值:
$ awk 'NR==FNR{new=new $0 ORS; next} $0=="789"{printf "%s", new} 1' file1 file2
123
456
abc
def
ghi
789
唯一的警告是,file1
不能太大而无法容纳在内存中。