AWK

Aus crazylinux.de
Zur Navigation springen Zur Suche springen

This awk program deletes C-style comments (‘/* ... */’) Link

negativ from above (prints everything 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
     }


Weitere Links