两个文件如下:
[[email protected] ~]# cat 1.txt 111 222 333 [[email protected] ~]# cat 2.txt AAA bbb ccc ddd
要求修改后的文件
[[email protected] ~]# cat 2.txt AAA bbb ccc 222 333 ddd ``
参考答案:
方法1:
[[email protected] ~]# sed -n 2,3p 1.txt |xargs |sed -r ‘s# #\\n#g‘|sed -r ‘s#.*#sed -i "3a&" 2.txt#g‘ |bash [[email protected] ~]# cat 2.txt AAA bbb ccc 222 333 ddd
方法2:
[[email protected] ~]# sed -i "3a$(sed -n ‘2,3p‘ 1.txt |xargs |sed ‘s# #\\n#g‘)" 2.txt [[email protected] ~]# cat 2.txt AAA bbb ccc 222 333 ddd
方法3:
[[email protected] ~]# 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")}‘ [[email protected] ~]# cat 2.txt AAA bbb ccc 222 333 ddd
备注
今天是每日一题陪伴大家的第84天,期待你的进步。
对于题目和答案的任何疑问,请在博客评论区留言。
往期题目索引
http://lidao.blog.51cto.com/3388056/1914205
时间: 2024-08-02 03:48:50