AWK: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Weitere Links
(awk) |
K (my script) |
||
Zeile 3: | Zeile 3: | ||
negativ from above (print everythings between aAa and bBb) | negativ from above (print everythings between aAa and bBb) | ||
<source lang=" | <source lang="bash">#!/usr/bin/awk -f | ||
{ | { | ||
if ((t = index($0, " | if ((t = index($0, "aAa")) != 0) { | ||
print $0 | print $0 | ||
# value of `tmp' will be "" if t is 1 | # value of `tmp' will be "" if t is 1 | ||
Zeile 19: | Zeile 19: | ||
} | } | ||
print $0 | print $0 | ||
u = index($0, " | u = index($0, "bBb") | ||
offset = 0 | offset = 0 | ||
} | } | ||
Zeile 33: | Zeile 33: | ||
= Weitere Links<br> = | = Weitere Links<br> = | ||
[http://www-e.uni-magdeburg.de/urzs/awk/ awk - Eine Einführung]<br> | *[http://www-e.uni-magdeburg.de/urzs/awk/ awk - Eine Einführung]<br> | ||
*[http://www.grymoire.com/Unix/Awk.html Awk - A Tutorial and Introduction]<br> | |||
[[Category:Linux]] | |||
[[ | [[Kategorie:Linux]] | ||
[[Kategorie:Tips_und_Tricks]] |
Version vom 26. August 2009, 19:49 Uhr
This awk program deletes C-style comments (‘/* ... */’) Link
negativ from above (print everythings between aAa and bBb)
#!/usr/bin/awk -f
{
if ((t = index($0, "aAa")) != 0) {
print $0
# value of `tmp' will be "" if t is 1
tmp = substr($0, 1, t - 1)
u = index(substr($0, t + 2), "*/")
offset = t + 2
while (u == 0) {
if (getline <= 0) {
m = "unexpected EOF or error"
m = (m ": " ERRNO)
print m > "/dev/stderr"
exit
}
print $0
u = index($0, "bBb")
offset = 0
}
# substr expression will be "" if */
# occurred at end of line
#$0 = tmp substr($0, offset + u + 2)
}
#print $0
}