/usr/share/doc/gawk/examples/prog
NameSizeModeActions
alarm.awk23690644editdlrm
anagram.awk13580644editdlrm
awksed.awk5150644editdlrm
cut.awk36980644editdlrm
dupword.awk5070644editdlrm
egrep.awk19540644editdlrm
extract.awk18830644editdlrm
guide.awk1650644editdlrm
histsort.awk2830644editdlrm
id.awk12490644editdlrm
igawk.sh31890644editdlrm
indirectcall.awk19570644editdlrm
labels.awk10140644editdlrm
pi.awk3410644editdlrm
split.awk11980644editdlrm
tee.awk7700644editdlrm
testbits.awk7360644editdlrm
translate.awk11820644editdlrm
uniq.awk27000644editdlrm
wc.awk14800644editdlrm
wordfreq.awk3470644editdlrm
Edit: /usr/share/doc/gawk/examples/prog/testbits.awk (736B)
# bits2str --- turn an integer into readable ones and zeros function bits2str(bits, data, mask) { if (bits == 0) return "0" mask = 1 for (; bits != 0; bits = rshift(bits, 1)) data = (and(bits, mask) ? "1" : "0") data while ((length(data) % 8) != 0) data = "0" data return data } BEGIN { printf "123 = %s\n", bits2str(123) printf "0123 = %s\n", bits2str(0123) printf "0x99 = %s\n", bits2str(0x99) comp = compl(0x99) printf "compl(0x99) = %#x = %s\n", comp, bits2str(comp) shift = lshift(0x99, 2) printf "lshift(0x99, 2) = %#x = %s\n", shift, bits2str(shift) shift = rshift(0x99, 2) printf "rshift(0x99, 2) = %#x = %s\n", shift, bits2str(shift) }