Ich möchte einen Block des Codes in einer Datei mit sed oder awk auskommentieren.Kommentieren Sie einen Block eine Datei mit sed oder awk
Ex. Eingabe
this is source file;
line one code;
line two code;
line three code;
line four code;
line 5 code;
if something then
line 6 code;
end if;
In diesem möchte ich aus Zeile zwei des Codes kommentieren, um zu beenden, wenn.
D.h. der Ausgang
solltethis is source file;
line one code;
/*
line two code;
line three code;
line four code;
line 5 code;
if something then
line 6 code;
end if;
*/
versucht, diese
awk '"/line two code;/{e=0}/end if;/" {printf("%s%s%s\n", "/*", $0, "*/"); next} {print}'
Aber es anhängt/* und */zwischen jeder Codezeile.
Lernen Sie Ihre 'awk' Code in Schritten zu debuggen. Ich glaube nicht, dass "/ line two code;/{e = 0}/end if; /" 'tut, was Sie denken/brauchen. Gute Lösung unten. Viel Glück für jeden. – shellter
Holen Sie sich das Buch Effective Awk Programming, 4. Auflage, von Arnold Robbins und lesen Sie die ersten paar Seiten, dann besuchen Sie Ihren Code. –