免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3220 | 回复: 10
打印 上一主题 下一主题

[文本处理] 怎么把文件1的某行插入到文件2的某行中 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-11-25 00:16 |只看该作者 |倒序浏览
比如文件1有:
aaa
bbb
ccc
....

文件2有
111
222
333
...

怎么把文件1的第2-3行插入到文件2的第2行中
形成
111
bbb
ccc
222
333
....


我sed还不够熟悉,想了好久只好请教大家了

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2014-11-25 08:40 |只看该作者
回复 1# kingdelee


try:
  1. awk 'NR==2{while(getline v<"file1"){if(i++>3)break;if(i>1)print v}}1' file2
复制代码

论坛徽章:
30
申猴
日期:2014-04-10 09:43:532015年亚洲杯纪念徽章
日期:2015-03-20 14:40:232015亚冠之阿尔纳斯尔
日期:2015-06-02 18:59:042015亚冠之阿尔希拉尔
日期:2015-06-30 15:22:572015亚冠之大阪钢巴
日期:2015-07-20 10:44:332015亚冠之阿尔纳斯尔
日期:2015-10-28 14:57:5215-16赛季CBA联赛之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16赛季CBA联赛之山西
日期:2016-07-25 21:54:2715-16赛季CBA联赛之北京
日期:2016-10-27 12:07:2315-16赛季CBA联赛之八一
日期:2017-07-07 16:39:0915-16赛季CBA联赛之吉林
日期:2017-09-04 12:14:43
3 [报告]
发表于 2014-11-25 08:58 |只看该作者
本帖最后由 zxy877298415 于 2014-11-25 08:58 编辑

回复 1# kingdelee
awk 'FNR==NR{if(NR>=2&&NR<=3)a[2]=a[2]?a[2]"\n"$0:$0;next}{if (FNR==2) {print a[FNR]} else {print $0}}' 1 2


   

论坛徽章:
0
4 [报告]
发表于 2014-11-25 09:07 |只看该作者
  1. awk 'NR==FNR{if(NR==2){s=$0"\n";getline;s=s$0;};next}FNR==1{$0=$0"\n"s}1' a b
复制代码
  1. eval $(awk '{if(NR==2){s=$0":";getline;s=s$0;printf("var=%s",s);exit}}' a) | sed '1a '$var'' b | sed 's/:/\n/'
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
5 [报告]
发表于 2014-11-25 09:38 |只看该作者
  1. awk 'NR==FNR{if(NR>=2&&NR<=3)s=s"\n"$0;next}FNR==1{$0=$0s}1' file1 file2
复制代码

论坛徽章:
0
6 [报告]
发表于 2014-11-25 09:59 |只看该作者
涨姿势了~谢谢各位大侠

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
7 [报告]
发表于 2014-11-25 12:26 |只看该作者
回复 1# kingdelee


    sed -rn -e '1{R 2' -e '}' -e '2p' -e '3{p;:a;R 2' -e ';x;s/^/./;/.{10}/{b};x;ba}' 1
    曲线救国,黄色部分的数字,等于 $(wc -l 2)

论坛徽章:
3
天秤座
日期:2013-12-19 06:33:48IT运维版块每日发帖之星
日期:2016-07-29 06:20:00IT运维版块每日发帖之星
日期:2016-08-13 06:20:00
8 [报告]
发表于 2015-04-22 09:08 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
9 [报告]
发表于 2016-08-28 09:55 |只看该作者
more 1 2
::::::::::::::
1
::::::::::::::
aaa
bbb
ccc
::::::::::::::
2
::::::::::::::
111
222
333
  1. sed '2{x;s/.*/sed 2,3!d 1/ep;x}' 2
复制代码

论坛徽章:
10
15-16赛季CBA联赛之同曦
日期:2016-06-11 19:22:4115-16赛季CBA联赛之深圳
日期:2020-05-31 16:13:5615-16赛季CBA联赛之同曦
日期:2020-01-28 12:42:47每日论坛发贴之星
日期:2016-08-09 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00每日论坛发贴之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-04 06:20:0015-16赛季CBA联赛之佛山
日期:2021-02-26 09:33:41
10 [报告]
发表于 2016-08-28 15:27 |只看该作者
awk 'NR==FNR{if(NR==2||NR==3){a[NR]=$0}}NR!=FNR{if(FNR==2){print a[2]"\n"a[3]"\n"$0}else{print $0}}'  file1 file2
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP