Ich habe ein Bash-Skript (script.sh) benutzt, das verschiedene awk-Skripte (script1.awk, script2.awk) verwendet, die auf "runtime" zugeschnitten sind, indem sie Werte für die Instanz ersetzen. Ich habe nach Möglichkeiten gesucht, sie vollständig in das erste Bash-Skript einzubetten. Idealerweise hätte ich gerne eine Datei wie diese:
%Vor%anstelle des traditionellen:
%Vor%Natürlich könnte ich sie in eine Datei schreiben, aber der springende Punkt ist nicht. Irgendwelche Vorschläge?
EDIT: Obwohl Dogbane Antworten funktioniert gut, das nächste Problem ist, dass mit den & lt; & lt; 'HIER' Tags, Newline-Zeichen nicht gelesen werden. Ich kann nicht unquote, da er sonst versucht, das awk-Skript zu interpretieren dann treffen wir auf ein $ -Zeichen innerhalb (und es gibt). Ohne Zeilenumbrüche kann ich nichts innerhalb des awk-Skripts kommentieren (ohne die Hälfte des Skripts zu kommentieren, wenn die Zeilenumbrüche entfernt werden ...). Jeder?
%Vor%Die einfachen Anführungszeichen um awk-Skripte können in einer Shell streitsüchtig sein.
%Vor%Dies wird von stdin und dann another_file entfernen und Zeilen ausgeben, die dummy enthalten und das erste Feld durch das erste Argument Ihres Bash-Skripts ersetzen. Beachten Sie, dass die Bash-Variable $ 1 nicht in Anführungszeichen gesetzt werden muss.
Sie können Ihr awk in Ihr Bash-Skript einfügen, indem Sie ein Here-Dokument verwenden.