LINUX.ORG.RU

История изменений

Исправление legolegs, (текущая версия) :

Ну, как-то так (работает только с GNU awk) (да, это ОДНА команда шелла, можно копипастить целиком):

gawk -v OFS=":" '
  /one/ { V1=$0; }
  /two/ { V2=$0; }
  V1&&V2 { nextfile; } 
  ENDFILE {
    print FILENAME,V1,V2;
    V1=V2="";
  }
' wolverin.txt wolverin_broken.txt wolverin2.txt

wolverin.txt:11 one:22 two
wolverin_broken.txt:b11 one:
wolverin2.txt:1111111 one:22222 two

Есть пара нюансов в плане граничных случаев, когда строки повторяются и т.п., но, поскольку тебе это, видимо, не важно, то я не буду это комментировать.

Исходная версия legolegs, :

Ну, как-то так (работает только с GNU awk):

gawk -v OFS=":" '
  /one/ { V1=$0; }
  /two/ { V2=$0; }
  V1&&V2 { nextfile; } 
  ENDFILE {
    print FILENAME,V1,V2;
    V1=V2="";
  }
' wolverin.txt wolverin_broken.txt wolverin2.txt

wolverin.txt:11 one:22 two
wolverin_broken.txt:b11 one:
wolverin2.txt:1111111 one:22222 two

Есть пара нюансов в плане граничных случаев, когда строки повторяются и т.п., но, поскольку тебе это, видимо, не важно, то я не буду это комментировать.