Awk 如何在不同文件中的图案后打印三个连续行

Awk 如何在不同文件中的图案后打印三个连续行,awk,sed,Awk,Sed,我是初学者,希望有人能帮我。我想使用awk(或sed)来完成这项任务 我有两份档案 文件1 @HWI-M01162:73:000000000-A7TPE:1:1101:17896:1432 @HWI-M01162:73:000000000-A7TPE:1:1101:14465:1433 文件2 @HWI-M01162:73:000000000-A7TPE:1:1101:17896:1432 1:N:0:CTTGTA CCCCAATGTGATCTGTTTACATTCCAACTCAGCTTCCTC

我是初学者,希望有人能帮我。我想使用awk(或sed)来完成这项任务

我有两份档案

文件1

@HWI-M01162:73:000000000-A7TPE:1:1101:17896:1432
@HWI-M01162:73:000000000-A7TPE:1:1101:14465:1433
文件2

@HWI-M01162:73:000000000-A7TPE:1:1101:17896:1432 1:N:0:CTTGTA
CCCCAATGTGATCTGTTTACATTCCAACTCAGCTTCCTCTTGTAAATGTTTTTCTTTTTAC
+
8ABC-6F,C<,CFF9FGGAE9FGFF9<EFF9,CEEEEGGGG9E,,,C<FFFGGGGGGGGGG
@HWI-M01162:73:000000000-A7TPE:1:1101:14465:1433 1:N:0:CTTGTA
CCCATGATGGTACGAAAGTACACATTTTATTTCTTATAAGCAATGGGTTTACTCAGCCTGA
+
@CC<CA9F<<FCFE>87@FCFAF?FFGG9FFFFGGCF9,<EA8FC8EFFGEFGG98@FFC8
@HWI-M01162:73:000000000-A7TPE:1:1101:15447:1444 1:N:0:CTTGTA
CTCTATCTAGAGTTGCCTTCATCAGTTTATCAAAAACACAACCTTAAAAAGGCAACCCCTG
+
AACC@FFGA<@9FF9EEFGF9FF9<FFFEFF99,,<B8C<8@FFGD,,,,,:C8<FEFEF8
@HWI-M01162:73:000000000-A7TPE:1:1101:15876:1444 1:N:0:CTTGTA
CTCTTTATTTAGTTTTAACTTATCTCAAAAATTACTCGACCTAAAAAATTTGGCCTGTTTA
+
-8CCCG-EFFA9FFFG98FFF9FEEE9,,,,CFAEFF7,@CF,,,,,+CEF9,CFF8EFF,
@HWI-M01162:73:000000000-A7TPE:1:1101:17896:1432 1:N:0:CTTGTA
CCCCAATTGTGATTTTATCCAACTTCTCTTGTAATTTTTTTTATTAC
+

8ABC-6F,C这个awk可以:

awk 'FNR==NR{k[FNR]=$0; next} 
     {data[FNR]=$0; next}
     END{
       for (i=1;i in k;i++) {
           for (j=1; j in data; j++){
                if (data[j]~k[i]){
                   for (x=0; x<4; x++)
                       print data[j+x]
                   j+=x
                }
           }
        }
      }' f1 f2
awk'FNR==NR{k[FNR]=$0;next}
{data[FNR]=$0;next}
结束{
for(i=1;k中的i;i++){
对于(j=1;数据中的j;j++){
if(数据[j]~k[i]){

对于(x=0;x这个awk将实现:

awk 'FNR==NR{k[FNR]=$0; next} 
     {data[FNR]=$0; next}
     END{
       for (i=1;i in k;i++) {
           for (j=1; j in data; j++){
                if (data[j]~k[i]){
                   for (x=0; x<4; x++)
                       print data[j+x]
                   j+=x
                }
           }
        }
      }' f1 f2
awk'FNR==NR{k[FNR]=$0;next}
{data[FNR]=$0;next}
结束{
for(i=1;k中的i;i++){
对于(j=1;数据中的j;j++){
if(数据[j]~k[i]){
对于(x=0;x
$awk'NR==FNR{a[$0];a{c=4}c&&c--'file1 file2中的next}$1
@HWI-M01162:73:000000000-A7TPE:1:1101:17896:1432 1:N:0:CTTGTA
CCCCAATTGTGATTTTATCCAACTTCTCTTGTAATTTTTTTTATTAC
+
8ABC-6F,C
$awk'NR==FNR{a[$0];下一个}$1在{C=4}C&&C--'file1文件中2
@HWI-M01162:73:000000000-A7TPE:1:1101:17896:1432 1:N:0:CTTGTA
CCCCAATTGTGATTTTATCCAACTTCTCTTGTAATTTTTTTTATTAC
+

8ABC-6F,c和c的使用非常出色--
谢谢你可以在:-)看到更多内容。非常感谢,我非常感谢!!c和c的使用非常出色--
谢谢你可以在:-)看到更多内容.非常感谢,我真的很感激!!嗨,老兄,非常感谢!!它适用于我的文件!!嗨,老兄,非常感谢!!它适用于我的文件!!
$ awk 'NR==FNR{a[$0];next} $1 in a{c=4} c&&c--' file1 file2
@HWI-M01162:73:000000000-A7TPE:1:1101:17896:1432 1:N:0:CTTGTA
CCCCAATGTGATCTGTTTACATTCCAACTCAGCTTCCTCTTGTAAATGTTTTTCTTTTTAC
+
8ABC-6F,C<,CFF9FGGAE9FGFF9<EFF9,CEEEEGGGG9E,,,C<FFFGGGGGGGGGG
@HWI-M01162:73:000000000-A7TPE:1:1101:14465:1433 1:N:0:CTTGTA
CCCATGATGGTACGAAAGTACACATTTTATTTCTTATAAGCAATGGGTTTACTCAGCCTGA
+
@CC<CA9F<<FCFE>87@FCFAF?FFGG9FFFFGGCF9,<EA8FC8EFFGEFGG98@FFC8