
Ich habe den folgenden awk-Befehl. Ich möchte die Datei von Anfang bis Ende ausschneiden. Bitte geben Sie mir einen Rat, warum awk nicht funktioniert.
awk -v PARAM=start -v PARAM1=end '/PARAM/,/PARAM1/' file
Datei:
2324
443
start
43
end
545
erforderliche Datei
start
43
end
Antwort1
Sie können keine Variablen zwischen Schrägstrichen verwenden. Verwenden Sie den Übereinstimmungsoperator ~
oder den Gleichheitsoperator ==
:
awk -v PARAM=start -v PARAM1=end '$0 ~ PARAM,$0 ~ PARAM1' file
oder
awk -v PARAM=start -v PARAM1=end '$0 == PARAM,$0 == PARAM1' file