linux查找并输出特定行和它的前一行且在后面再输出一个空白行的命令

比如1.txt文件中内容aaa:1234bbb:5678aaabbb:1988要把aaa所在行及下一行内容写到2.txt文件中。处理结果2.txt:aaa:1234aaa... 比如1.txt文件中内容
aaa:
1234
bbb:
5678
aaabbb:
1988
要把aaa所在行及下一行内容写到2.txt文件中。
处理结果2.txt:
aaa:
1234

aaabbb:
1988
展开
 我来答
ccctctc
2016-11-07 · TA获得超过6601个赞
知道小有建树答主
回答量:1346
采纳率:0%
帮助的人:462万
展开全部
  1. 您需求不太明确,输出特定行,后面加空行没有意义,比如说输出1-3行,后面就是空的了,为啥还要加空行?

  2. 实现方式,grep + sed

    grep -n 取行数,sed -n 'n-1,n-2'

    #注意实际用的时候,n-1要算出来,或者脚本里面传参数

  3. 例:

     

    [user@master tmp]$ ll | awk '{ print $3 }'

    cloudera-scm
    clouderauser
    hadoop
    hdfs
    hive
    mapred
    root
    yarn
    zookeeper
    clouderauser
    [user@master tmp]$ ll | awk '{ print $3 }'| grep -n yarn
    9:yarn

    [user@master tmp]$ ll | awk '{ print $3 }'| sed -n '8,10p'
    root
    yarn
    zookeeper

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
键盘雀跃
2016-10-28 · TA获得超过981个赞
知道小有建树答主
回答量:1546
采纳率:0%
帮助的人:488万
展开全部
cat -n some.txt|grep 'line'|head -n 1
//输出特定行

echo -e "\n"
//输出空白行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yexicheng
2016-10-17 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8857
采纳率:69%
帮助的人:7139万
展开全部
cat 1.txt |grep -A 1 aaa >> 2.txt
echo " " >> 2.txt
不知道这样是否可行
追问
需要在每一查找的特定行后面输入一个空白行,比如:
比如1.txt文件中内容
1234
aaa:
bbb:
5678
aaabbb:
1988
3322
2134
aaa
4567
4879
要把aaa所在行及下一行内容写到2.txt文件中。
处理结果2.txt:
1234
aaa:

5678
aaabbb:
1988

2134
aaa

end
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式