码迷,mamicode.com
首页 > 其他好文 > 详细

按a的顺序输出b文件中的标识a文件中也有的标识的段落

时间:2016-05-09 11:12:29      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:shell

问题:

有文件a.txt:如下,每4行是一个数据单元,因此第一行11a,第5行23b2,第9行54c,第13行67是单元名,每行跟着的3行是单元信息。现在想从中抽出特定单元的内如:要求最后输出顺序于a.txt一致。
11a
ghj
dfghj
gh
23b2
ghjkcvb
sd
ghj
54c
uui
uio
hj
67
yuionmnlk
456vb
th
抽取的单元list为b.txt
54c
11a
输出结果为:
11a
ghj
dfghj
gh
54c
uui
uio
hj


解答:

grep -A3 -Ff b.txt a.txt |grep -v ‘-‘

11a

ghj

dfghj

gh

54c

uui

uio

hj


sed -rn "/^(`cat b.txt|tr ‘\n‘ ‘|‘`)$/,+3p" a.txt 

11a

ghj

dfghj

gh

54c

uui

uio

hj


本文出自 “八英里” 博客,请务必保留此出处http://5921271.blog.51cto.com/5911271/1771373

按a的顺序输出b文件中的标识a文件中也有的标识的段落

标签:shell

原文地址:http://5921271.blog.51cto.com/5911271/1771373

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!