问题:
有文件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
时间: 2024-10-14 15:05:58