Zusätzliche Codeimplementierung für den Cat-AWK-Befehl

Zusätzliche Codeimplementierung für den Cat-AWK-Befehl

Ich möchte verstehen, wie man den Befehl awk cat verwendet, weil ich glaube, nicht zu verstehen

Indiese Seiteer schlägt mir vor, seinen Code zu verwenden

g2.txtSo solltest du zunächst vorgehen :

cat join2.awk

BEGIN {
  OFS=FS=";"
}
ARGIND == 1 {
   map[$2] = ($2 in map ? map[$2] OFS : "") $1
   next
}
{
   r = $0;
   for (i=1; i<=NF; ++i)
      if ($i in map)
         r = r OFS map[$i]
   $0 = r
}
1

Dann verwenden Sie es als:

awk -f join2.awk g2.txt g1.txt

Aber ich verstehe nicht, wie ich diesen Befehl cat join2.awkmit seinem Zusatzcode verwenden und implementieren soll. Normalerweise verwende ich in der Befehlszeile , awk -f join2.sh g2.txt g1.txtwarum join2.awk? (Ich verwende awk unter Windows)

Dies ist mein Originalcode, join2.sh

#! /usr/bin/awk  -f

BEGIN {
  OFS=FS=";"
  C=0;
}
{
  if (ARGIND == 1) {
     X = $NF
     T0[$NF] = C++
     $NF = ""
     if (T1[X]) {
        T1[X] = T1[X] $0
     } else {
        T1[X] = $0
     }
  } else {
     X = $NF
     T0[$NF] = C++
     $NF = ""
     if (T2[X]) {
        T2[X] = T2[X] $0
     } else {
        T2[X] = $0
     }
  }
}

END {
  for (X in T0) {
    # concatenate T1[X] and X, since T1[X] ends with ";"
    print T1[X]  X, T2[X]
  }
}

Ich verstehe nicht, wie manseinzusätzlicher Code. Muss ich ihn in meinen integrieren? Muss ich ein weiteres Skript erstellen?
Was bedeutet das?g2.txtSo sollten Sie zunächst vorgehen?

Wie führe ich diesen Code aus?Können Sie es mir bitte zeigen? Weil awk -f join2.awk g2.txt g1.txtdas nicht ausreicht, muss ich einen Weg finden, es vorher zu verwenden cat join2.awk, und ich verstehe nicht, wie man seinen Code implementiert und ausführt

cat join2.awk
    
    BEGIN {
      OFS=FS=";"
    }
    ARGIND == 1 {
       map[$2] = ($2 in map ? map[$2] OFS : "") $1
       next
    }
    {
       r = $0;
       for (i=1; i<=NF; ++i)
          if ($i in map)
             r = r OFS map[$i]
       $0 = r
    }
    1

GELÖST: Bildbeschreibung hier eingeben

verwandte Informationen