K2LL33D SHELL

 Apache/2.4.7 (Ubuntu)
 Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
 uid=33(www-data) gid=33(www-data) groups=33(www-data)
 safemode : OFF
 MySQL: ON | Perl: ON | cURL: OFF | WGet: ON
  >  / usr / share / doc / gawk / examples / prog /
server ip : 104.21.89.46

your ip : 172.69.130.125

H O M E


Filename/usr/share/doc/gawk/examples/prog/labels.awk
Size1019
Permissionrw-r--r--
Ownerroot : root
Create time27-Apr-2025 09:55
Last modified29-Mar-2012 04:03
Last accessed08-Jul-2025 06:13
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
# labels.awk --- print mailing labels
#
# Arnold Robbins, [email protected], Public Domain
# June 1992
# December 2010, minor edits

# Each label is 5 lines of data that may have blank lines.
# The label sheets have 2 blank lines at the top and 2 at
# the bottom.

BEGIN { RS = "" ; MAXLINES = 100 }

function printpage( i, j)
{
if (Nlines <= 0)
return

printf "\n\n" # header

for (i = 1; i <= Nlines; i += 10) {
if (i == 21 || i == 61)
print ""
for (j = 0; j < 5; j++) {
if (i + j > MAXLINES)
break
printf " %-41s %s\n", line[i+j], line[i+j+5]
}
print ""
}

printf "\n\n" # footer

delete line
}

# main rule
{
if (Count >= 20) {
printpage()
Count = 0
Nlines = 0
}
n = split($0, a, "\n")
for (i = 1; i <= n; i++)
line[++Nlines] = a[i]
for (; i <= 5; i++)
line[++Nlines] = ""
Count++
}

END \
{
printpage()
}