标签: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
标签:shell
原文地址:http://5921271.blog.51cto.com/5911271/1771373