我正在Linux上工作。我有2个文件-file1.dat和file2.dat。
cat file1.dat 1 2 3 4 5 6 7 8 9 10
对于file2:
cat file2.dat 1a 2a 3a 4a 5a 6a 7a 8a 9a 10a
我想用file2.dat的前3行替换file1.dat的前4行。所以我的输出如下
cat file1.dat 1a 2a 3a 5 6 7 8 9 10
我尝试了以下输入:
sed -i.bak '1,4d;3r file2.dat' file1.dat
但是使用此输入,我有以下输出:
5 6 7 8 9 10
我应该如何修改输入命令?我尝试了各种组合。
awk 是你的朋友
awk
脚本
# awk 'NR==FNR && FNR<=3 || NR>FNR && FNR>4' file2 file1
输出量
1a 2a 3a 5 6 7 8 9 10
提示
都好 :-)
:-)