Chinaunix

标题: 截取文本中某字符串到末尾的内容 [打印本页]

作者: dgww    时间: 2012-06-05 10:15
标题: 截取文本中某字符串到末尾的内容
文本类似如下,这个例子里需要取最后一个separator到文本末尾的内容,也就是
this is line5
this is line6。

文本:
separator
this is line1
separator
separator
this is line2
this is line3
this is line4
separator
this is line5
this is line6



作者: 英语盲学linux    时间: 2012-06-05 10:27
  1. awk 'BEGIN{RS="separator";FS="\n"}END{print $2FS$3}
复制代码

作者: dgww    时间: 2012-06-05 10:31
回复 2# 英语盲学linux


    你这个针对我这个例子,separator后面的行数其实不固定,只是我例子里面写了两行
作者: rdcwayx    时间: 2012-06-05 10:33
  1. awk '/separator/{s="";next}{s=$0 RS s}END{print s}' infile
复制代码

作者: 英语盲学linux    时间: 2012-06-05 10:41
本帖最后由 英语盲学linux 于 2012-06-05 10:43 编辑

回复 3# dgww
  1. awk 'BEGIN{RS="separator";FS="\n"}END{for(i=1;i<NF;i++)if($i !="") print $i}'
  2. 变通下不就好了
复制代码

作者: kk5234    时间: 2012-06-05 11:26
  1. awk -vRS='separator' 'END{print}' infile
复制代码

作者: dgww    时间: 2012-06-05 14:29
多谢诸位,果然是会者不难。
作者: zooyo    时间: 2012-06-05 18:14
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2