两个文件如下:
[root@oldboy ~]# cat 1.txt 111 222 333 [root@oldboy ~]# cat 2.txt AAA bbb ccc ddd
要求修改后的文件
[root@oldboy ~]# cat 2.txt AAA bbb ccc 222 333 ddd ``
参考答案:
方法1:
[root@oldboy ~]# sed -n 2,3p 1.txt |xargs |sed -r 's# #\\n#g'|sed -r 's#.*#sed -i "3a&" 2.txt#g' |bash [root@oldboy ~]# cat 2.txt AAA bbb ccc 222 333 ddd
方法2:
[root@oldboy36 ~]# sed -i "3a$(sed -n '2,3p' 1.txt |xargs |sed 's# #\\n#g')" 2.txt [root@oldboy36 ~]# cat 2.txt AAA bbb ccc 222 333 ddd
方法3:
[root@oldboy36 ~]# awk 'BEGIN{while("cat 1.txt"|getline){a++;if(a>=2&&a<=3){b=b"\n"$0}};while("cat 2.txt"|getline){c++;if(c==3){print $0,b > "2.txt"}else{print $0 > "2.txt"}}close("2.txt")}' [root@oldboy36 ~]# cat 2.txt AAA bbb ccc 222 333 ddd
备注
今天是每日一题陪伴大家的第84天,期待你的进步。
对于题目和答案的任何疑问,请在博客评论区留言。
往期题目索引
http://lidao.blog.51cto.com/3388056/1914205
本文转自 李导 51CTO博客,原文链接:http://blog.51cto.com/lidao/1944563