0
Ich habe zwei Dateien, eine Eingabedatei FileA und eine Referenzdatei RefFile. RefFile enthält die Zeichenfolgen, die ich in jeder Zeile von FileA finden möchte. Jede in FileA nicht gefundene Zeichenfolge sollte stattdessen "NULL" drucken.Finden Sie bestimmte Zeichenfolgen und Drucken
FileA:
MIN=0000;MSI=1111;FLA=2222;DAG=9999
MIN=000;FLA=2222
RefFile:
MIN
MSI
FLA
ERWARTETES ERGEBNIS:
MIN=0000;MSI=1111;FLA=2222
MIN=000;NULL;FLA=2222
Bisher ist hier mein Skript:
awk -F";" -v key="MSI" '$1 ~ key {$1=$1; print}' FileA
Btw, ich bin nur neu zu Shell-Skripting. Vielen Dank.
Das ist großartig! Wie wäre es, wenn ich NULL hier ausdrucken würde: ** MIN = 000; NULL; FLA = 2222 **? – enigma
Wenn Sie meinen, dass die NULL in FileA ist, wird es in 'c [1]' 'geteilt 'und wenn es in der RefFile ist, wird es ausgedruckt. Wenn Sie meinen, dass das Skript nur den Text NULL erzeugt (wie in Ihrer erwarteten Ausgabe), müssen Sie wirklich eine Regel für sein Aussehen bereitstellen. –
Ja, aber im Grunde möchte ich herausfinden, was in der RefFile in FileA ist, wenn eine bestimmte Zeichenfolge in RefFile nicht in FileA ist, wird nur "NULL" gedruckt. In diesem Fall fehlt MSI in FileA, so dass die Ausgabe für Zeile 2 lautet: MIN = 000, NULL, FLA = 2222. Entschuldigung für die Verwirrung. – enigma