fixed a few minor bugs
This commit is contained in:
@ -1,52 +0,0 @@
|
||||
#
|
||||
# $Id: asm.awk,v 1.4 2007/09/27 11:33:45 bacon Exp $
|
||||
#
|
||||
# Taken from the book "The AWK Programming Language"
|
||||
# aseawk++ -si asm.awk -a asm.s -nostripspaces -baseone
|
||||
#
|
||||
|
||||
BEGIN {
|
||||
srcfile = ARGV[1];
|
||||
ARGV[1] = "";
|
||||
tempfile = "asm.temp";
|
||||
n = split("const get put ld st add sub jpos jz j halt", x);
|
||||
for (i = 1; i <= n; i++) op[x[i]] = i - 1;
|
||||
|
||||
# PASS 1
|
||||
FS = "[ \t]+";
|
||||
while (getline <srcfile > 0) {
|
||||
sub (/#.*/, "");
|
||||
symtab[$1] = nextmem;
|
||||
|
||||
if ($2 != "") {
|
||||
print $2 "\t" $3 >tempfile;
|
||||
nextmem++;
|
||||
}
|
||||
}
|
||||
close (tempfile);
|
||||
|
||||
# PASS 2
|
||||
nextmem = 0;
|
||||
while (getline <tempfile > 0) {
|
||||
if ($2 !~ /^[0-9]*$/) $2 = symtab[$2];
|
||||
mem[nextmem++] = 1000 * op[$1] + $2;
|
||||
}
|
||||
|
||||
# INTERPRETER
|
||||
for (pc = 0; pc >= 0; ) {
|
||||
addr = mem[pc] % 1000;
|
||||
code = int(mem[pc++] / 1000);
|
||||
if (code == op["get"]) { if (getline acc <= 0) acc = 0; }
|
||||
else if (code == op["put"]) { print acc; }
|
||||
else if (code == op["st"]) { mem[addr] = acc; }
|
||||
else if (code == op["ld"]) { acc = mem[addr]; }
|
||||
else if (code == op["add"]) { acc += mem[addr]; }
|
||||
else if (code == op["sub"]) { acc -= mem[addr]; }
|
||||
else if (code == op["jpos"]) { if (acc > 0) pc = addr; }
|
||||
else if (code == op["jz"]) { if (acc == 0) pc = addr; }
|
||||
else if (code == op["j"]) { pc = addr; }
|
||||
else if (code == op["halt"]) { pc = -1; }
|
||||
else { pc = -1; }
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
ld zero # initialize sum to zero
|
||||
st sum
|
||||
loop get # read a number
|
||||
jz done # no more input if number is zero
|
||||
add sum # add in accumulated sum
|
||||
st sum # store new value back in sum
|
||||
j loop # go back and read another number
|
||||
|
||||
done ld sum # print sum
|
||||
put
|
||||
halt
|
||||
|
||||
zero const 0
|
||||
sum const
|
@ -1 +0,0 @@
|
||||
{ print $1, $3; } # print country name and population
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
print $1,$3;
|
||||
}
|
||||
|
||||
USSR 275
|
||||
Canada 25
|
||||
China 1032
|
||||
USA 237
|
||||
Brazil 134
|
||||
India 746
|
||||
Mexico 78
|
||||
France 55
|
||||
Japan 120
|
||||
Germany 61
|
||||
England 56
|
@ -1,15 +0,0 @@
|
||||
BEGIN {
|
||||
FS = "\t";
|
||||
printf ("%10s %6s %5s %s\n\n",
|
||||
"COUNTRY", "AREA", "POP", "CONTINENT");
|
||||
}
|
||||
|
||||
{
|
||||
printf ("%10s %6d %5d %s\n", $1, $2, $3, $4);
|
||||
area = area + $2;
|
||||
pop = pop + $3;
|
||||
}
|
||||
|
||||
END {
|
||||
printf ("\n%10s %6d %5d\n", "TOTAL", area, pop);
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
BEGIN {
|
||||
FS = " ";
|
||||
printf ("%10s %6s %5s %s\n\n","COUNTRY","AREA","POP","CONTINENT");
|
||||
}
|
||||
|
||||
{
|
||||
printf ("%10s %6d %5d %s\n",$1,$2,$3,$4);
|
||||
area = (area + $2);
|
||||
pop = (pop + $3);
|
||||
}
|
||||
|
||||
END {
|
||||
printf ("\n%10s %6d %5d\n","TOTAL",area,pop);
|
||||
}
|
||||
COUNTRY AREA POP CONTINENT
|
||||
|
||||
USSR 8649 275 Asia
|
||||
Canada 3852 25 North America
|
||||
China 3705 1032 Asia
|
||||
USA 3615 237 North America
|
||||
Brazil 3286 134 South America
|
||||
India 1267 746 Asia
|
||||
Mexico 762 78 North America
|
||||
France 211 55 Europe
|
||||
Japan 144 120 Asia
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
||||
|
||||
TOTAL 25681 2819
|
@ -1 +0,0 @@
|
||||
$3/$2 >= 0.5
|
@ -1,6 +0,0 @@
|
||||
(($3 / $2) >= 0.5)
|
||||
|
||||
India 1267 746 Asia
|
||||
Japan 144 120 Asia
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
@ -1 +0,0 @@
|
||||
$0 >= "M"
|
@ -1,5 +0,0 @@
|
||||
($0 >= "M")
|
||||
|
||||
USSR 8649 275 Asia
|
||||
USA 3615 237 North America
|
||||
Mexico 762 78 North America
|
@ -1 +0,0 @@
|
||||
$1 < $4
|
@ -1,6 +0,0 @@
|
||||
($1 < $4)
|
||||
|
||||
Canada 3852 25 North America
|
||||
Brazil 3286 134 South America
|
||||
Mexico 762 78 North America
|
||||
England 94 56 Europe
|
@ -1 +0,0 @@
|
||||
$2 < $3
|
@ -1,5 +0,0 @@
|
||||
($2 < $3)
|
||||
|
||||
India 1267 746 Asia
|
||||
Mexico 762 78 North America
|
||||
France 211 55 Europe
|
@ -1 +0,0 @@
|
||||
/Asia/
|
@ -1,6 +0,0 @@
|
||||
/Asia/
|
||||
|
||||
USSR 8649 275 Asia
|
||||
China 3705 1032 Asia
|
||||
India 1267 746 Asia
|
||||
Japan 144 120 Asia
|
@ -1 +0,0 @@
|
||||
$4 ~ /Asia/
|
@ -1,6 +0,0 @@
|
||||
($4 ~ /Asia/)
|
||||
|
||||
USSR 8649 275 Asia
|
||||
China 3705 1032 Asia
|
||||
India 1267 746 Asia
|
||||
Japan 144 120 Asia
|
@ -1 +0,0 @@
|
||||
$4 !~ /Asia/
|
@ -1,9 +0,0 @@
|
||||
($4 !~ /Asia/)
|
||||
|
||||
Canada 3852 25 North America
|
||||
USA 3615 237 North America
|
||||
Brazil 3286 134 South America
|
||||
Mexico 762 78 North America
|
||||
France 211 55 Europe
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
@ -1 +0,0 @@
|
||||
$0 ~ /Asia/
|
@ -1,6 +0,0 @@
|
||||
($0 ~ /Asia/)
|
||||
|
||||
USSR 8649 275 Asia
|
||||
China 3705 1032 Asia
|
||||
India 1267 746 Asia
|
||||
Japan 144 120 Asia
|
@ -1,3 +0,0 @@
|
||||
$2 !~ /^[0-9]+$/
|
||||
|
||||
|
@ -1,2 +0,0 @@
|
||||
($2 !~ /^[0-9]+$/)
|
||||
|
@ -1 +0,0 @@
|
||||
$4 == "Asia" && $3 > 500
|
@ -1,4 +0,0 @@
|
||||
(($4 == "Asia") && ($3 > 500))
|
||||
|
||||
China 3705 1032 Asia
|
||||
India 1267 746 Asia
|
@ -1 +0,0 @@
|
||||
$4 == "Asia" || $4 == "Europe"
|
@ -1,9 +0,0 @@
|
||||
(($4 == "Asia") || ($4 == "Europe"))
|
||||
|
||||
USSR 8649 275 Asia
|
||||
China 3705 1032 Asia
|
||||
India 1267 746 Asia
|
||||
France 211 55 Europe
|
||||
Japan 144 120 Asia
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
@ -1 +0,0 @@
|
||||
$4 ~ /^(Asia|Europe)$/
|
@ -1,9 +0,0 @@
|
||||
($4 ~ /^(Asia|Europe)$/)
|
||||
|
||||
USSR 8649 275 Asia
|
||||
China 3705 1032 Asia
|
||||
India 1267 746 Asia
|
||||
France 211 55 Europe
|
||||
Japan 144 120 Asia
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
@ -1 +0,0 @@
|
||||
/Asia/ || /Europe/
|
@ -1,9 +0,0 @@
|
||||
(/Asia/ || /Europe/)
|
||||
|
||||
USSR 8649 275 Asia
|
||||
China 3705 1032 Asia
|
||||
India 1267 746 Asia
|
||||
France 211 55 Europe
|
||||
Japan 144 120 Asia
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
@ -1 +0,0 @@
|
||||
/Asia|Europe/
|
@ -1,9 +0,0 @@
|
||||
/Asia|Europe/
|
||||
|
||||
USSR 8649 275 Asia
|
||||
China 3705 1032 Asia
|
||||
India 1267 746 Asia
|
||||
France 211 55 Europe
|
||||
Japan 144 120 Asia
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
@ -1 +0,0 @@
|
||||
/Canada/, /USA/
|
@ -1,5 +0,0 @@
|
||||
/Canada/,/USA/
|
||||
|
||||
Canada 3852 25 North America
|
||||
China 3705 1032 Asia
|
||||
USA 3615 237 North America
|
@ -1 +0,0 @@
|
||||
/Eurpoe/, /Africa/
|
@ -1,2 +0,0 @@
|
||||
/Eurpoe/,/Africa/
|
||||
|
@ -1 +0,0 @@
|
||||
FNR == 1, FNR == 5 { print FILENAME ": " $0; }
|
@ -1,9 +0,0 @@
|
||||
(FNR == 1),(FNR == 5) {
|
||||
print ((FILENAME ": ") $0);
|
||||
}
|
||||
|
||||
cou-en.data: USSR 8649 275 Asia
|
||||
cou-en.data: Canada 3852 25 North America
|
||||
cou-en.data: China 3705 1032 Asia
|
||||
cou-en.data: USA 3615 237 North America
|
||||
cou-en.data: Brazil 3286 134 South America
|
@ -1 +0,0 @@
|
||||
FNR <= 5 { print FILENAME ": " $0; }
|
@ -1,9 +0,0 @@
|
||||
(FNR <= 5) {
|
||||
print ((FILENAME ": ") $0);
|
||||
}
|
||||
|
||||
cou-en.data: USSR 8649 275 Asia
|
||||
cou-en.data: Canada 3852 25 North America
|
||||
cou-en.data: China 3705 1032 Asia
|
||||
cou-en.data: USA 3615 237 North America
|
||||
cou-en.data: Brazil 3286 134 South America
|
@ -1 +0,0 @@
|
||||
$4 == "Asia" { print $1, 1000 * $2; }
|
@ -1,8 +0,0 @@
|
||||
($4 == "Asia") {
|
||||
print $1,(1000 * $2);
|
||||
}
|
||||
|
||||
USSR 8649000
|
||||
China 3705000
|
||||
India 1267000
|
||||
Japan 144000
|
@ -1,6 +0,0 @@
|
||||
#BEGIN { FS = "\t"; OFS = "\t"; }
|
||||
BEGIN { FS = OFS = "\t"; }
|
||||
$4 == "North America" { $4 = "NA"; }
|
||||
$4 == "South America" { $4 = "SA"; }
|
||||
{ print; }
|
||||
|
@ -1,27 +0,0 @@
|
||||
BEGIN {
|
||||
FS = OFS = " ";
|
||||
}
|
||||
|
||||
($4 == "North America") {
|
||||
$4 = "NA";
|
||||
}
|
||||
|
||||
($4 == "South America") {
|
||||
$4 = "SA";
|
||||
}
|
||||
|
||||
{
|
||||
print;
|
||||
}
|
||||
|
||||
USSR 8649 275 Asia
|
||||
Canada 3852 25 NA
|
||||
China 3705 1032 Asia
|
||||
USA 3615 237 NA
|
||||
Brazil 3286 134 SA
|
||||
India 1267 746 Asia
|
||||
Mexico 762 78 NA
|
||||
France 211 55 Europe
|
||||
Japan 144 120 Asia
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
@ -1,2 +0,0 @@
|
||||
BEGIN { FS = OFS = "\t"; }
|
||||
{ $5 = 1000 * $3 / $2; print; }
|
@ -1,20 +0,0 @@
|
||||
BEGIN {
|
||||
FS = OFS = " ";
|
||||
}
|
||||
|
||||
{
|
||||
$5 = ((1000 * $3) / $2);
|
||||
print;
|
||||
}
|
||||
|
||||
USSR 8649 275 Asia 31.7956
|
||||
Canada 3852 25 North America 6.49013
|
||||
China 3705 1032 Asia 278.543
|
||||
USA 3615 237 North America 65.5602
|
||||
Brazil 3286 134 South America 40.7791
|
||||
India 1267 746 Asia 588.792
|
||||
Mexico 762 78 North America 102.362
|
||||
France 211 55 Europe 260.664
|
||||
Japan 144 120 Asia 833.333
|
||||
Germany 96 61 Europe 635.417
|
||||
England 94 56 Europe 595.745
|
@ -1,4 +0,0 @@
|
||||
$4 == "Asia" { pop = pop + $3; n = n + 1; }
|
||||
END { print "Total population of the", n,
|
||||
"Asian countries is", pop, "million.";
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
($4 == "Asia") {
|
||||
pop = (pop + $3);
|
||||
n = (n + 1);
|
||||
}
|
||||
|
||||
END {
|
||||
print "Total population of the",n,"Asian countries is",pop,"million.";
|
||||
}
|
||||
Total population of the 4 Asian countries is 2173 million.
|
@ -1,6 +0,0 @@
|
||||
/Asia/ { pop["Asia"] += $3; }
|
||||
/Europe/ { pop["Europe"] += $3; }
|
||||
END { print "Asian population is", pop["Asia"], "million.";
|
||||
print "European population is", pop["Europe"], "million.";
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
/Asia/ {
|
||||
pop["Asia"] += $3;
|
||||
}
|
||||
|
||||
/Europe/ {
|
||||
pop["Europe"] += $3;
|
||||
}
|
||||
|
||||
END {
|
||||
print "Asian population is",pop["Asia"],"million.";
|
||||
print "European population is",pop["Europe"],"million.";
|
||||
}
|
||||
Asian population is 2173 million.
|
||||
European population is 172 million.
|
@ -1,3 +0,0 @@
|
||||
BEGIN { FS = "\t"; }
|
||||
{ pop[$4] += $3; }
|
||||
END { for (name in pop) print name, pop[name]; }
|
@ -1,16 +0,0 @@
|
||||
BEGIN {
|
||||
FS = " ";
|
||||
}
|
||||
|
||||
{
|
||||
pop[$4] += $3;
|
||||
}
|
||||
|
||||
END {
|
||||
for (name in pop)
|
||||
print name,pop[name];
|
||||
}
|
||||
Europe 172
|
||||
South America 134
|
||||
North America 340
|
||||
Asia 2173
|
@ -1,17 +0,0 @@
|
||||
BEGIN { FS = "\t"; }
|
||||
{ pop[$4] += $3; }
|
||||
END {
|
||||
# specifying a postion with + notation seems obsolete for sort
|
||||
# on most platforms.
|
||||
# sort -t'\t' +1rn => sort -t'\t' -k2 -rn
|
||||
|
||||
for (c in pop)
|
||||
printf ("%15s\t%6d\n", c, pop[c]) | "sort -t'\t' -k2 -rn";
|
||||
|
||||
# the following two statements make the program behave
|
||||
# consistently across different platforms.
|
||||
# on some platforms, the sort command output has
|
||||
# been delayed until the program exits.
|
||||
close ("sort -t'\t' -k2 -rn");
|
||||
sleep (1);
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
BEGIN {
|
||||
FS = " ";
|
||||
}
|
||||
|
||||
{
|
||||
pop[$4] += $3;
|
||||
}
|
||||
|
||||
END {
|
||||
for (c in pop)
|
||||
printf ("%15s %6d\n",c,pop[c]) | "sort -t' ' -k2 -rn";
|
||||
close ("sort -t' ' -k2 -rn");
|
||||
sleep (1);
|
||||
}
|
||||
Asia 2173
|
||||
North America 340
|
||||
Europe 172
|
||||
South America 134
|
@ -1,11 +0,0 @@
|
||||
USSR 8649 275 Asia
|
||||
Canada 3852 25 North America
|
||||
China 3705 1032 Asia
|
||||
USA 3615 237 North America
|
||||
Brazil 3286 134 South America
|
||||
India 1267 746 Asia
|
||||
Mexico 762 78 North America
|
||||
France 211 55 Europe
|
||||
Japan 144 120 Asia
|
||||
Germany 96 61 Europe
|
||||
England 94 56 Europe
|
@ -1,8 +0,0 @@
|
||||
($3 > 0) {
|
||||
print $1,($2 * $3);
|
||||
}
|
||||
|
||||
Kathy 40
|
||||
Mark 100
|
||||
Mary 121
|
||||
Susie 76.5
|
@ -1,6 +0,0 @@
|
||||
($3 == 0) {
|
||||
print $1;
|
||||
}
|
||||
|
||||
Beth
|
||||
Dan
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
print NF,$1,$NF;
|
||||
}
|
||||
|
||||
3 Beth 0
|
||||
3 Dan 0
|
||||
3 Kathy 10
|
||||
3 Mark 20
|
||||
3 Mary 22
|
||||
3 Susie 18
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
print NR,$0;
|
||||
}
|
||||
|
||||
1 Beth 4.00 0
|
||||
2 Dan 3.74 0
|
||||
3 Kathy 4.00 10
|
||||
4 Mark 5.00 20
|
||||
5 Mary 5.50 22
|
||||
6 Susie 4.25 18
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
print "total pay for",$1,"is",($2 * $3);
|
||||
}
|
||||
|
||||
total pay for Beth is 0
|
||||
total pay for Dan is 0
|
||||
total pay for Kathy is 40
|
||||
total pay for Mark is 100
|
||||
total pay for Mary is 121
|
||||
total pay for Susie is 76.5
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
printf ("total pay for %s is $%.2f\n",$1,($2 * $3));
|
||||
}
|
||||
|
||||
total pay for Beth is $0.00
|
||||
total pay for Dan is $0.00
|
||||
total pay for Kathy is $40.00
|
||||
total pay for Mark is $100.00
|
||||
total pay for Mary is $121.00
|
||||
total pay for Susie is $76.50
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
printf ("%-8s $%6.2f\n",$1,($2 * $3));
|
||||
}
|
||||
|
||||
Beth $ 0.00
|
||||
Dan $ 0.00
|
||||
Kathy $ 40.00
|
||||
Mark $100.00
|
||||
Mary $121.00
|
||||
Susie $ 76.50
|
@ -1,4 +0,0 @@
|
||||
($2 >= 5)
|
||||
|
||||
Mark 5.00 20
|
||||
Mary 5.50 22
|
@ -1,7 +0,0 @@
|
||||
(($2 * $3) > 50) {
|
||||
printf ("$%.2f for %s\n",($2 * $3),$1);
|
||||
}
|
||||
|
||||
$100.00 for Mark
|
||||
$121.00 for Mary
|
||||
$76.50 for Susie
|
@ -1,3 +0,0 @@
|
||||
($1 == "Susie")
|
||||
|
||||
Susie 4.25 18
|
@ -1,3 +0,0 @@
|
||||
/Susie/
|
||||
|
||||
Susie 4.25 18
|
@ -1,7 +0,0 @@
|
||||
(($2 >= 4) || ($3 >= 20))
|
||||
|
||||
Beth 4.00 0
|
||||
Kathy 4.00 10
|
||||
Mark 5.00 20
|
||||
Mary 5.50 22
|
||||
Susie 4.25 18
|
@ -1,11 +0,0 @@
|
||||
($2 >= 4)
|
||||
|
||||
($3 >= 20)
|
||||
|
||||
Beth 4.00 0
|
||||
Kathy 4.00 10
|
||||
Mark 5.00 20
|
||||
Mark 5.00 20
|
||||
Mary 5.50 22
|
||||
Mary 5.50 22
|
||||
Susie 4.25 18
|
@ -1,7 +0,0 @@
|
||||
(!((($2 < 4) && ($3 < 20))))
|
||||
|
||||
Beth 4.00 0
|
||||
Kathy 4.00 10
|
||||
Mark 5.00 20
|
||||
Mary 5.50 22
|
||||
Susie 4.25 18
|
@ -1,20 +0,0 @@
|
||||
(NF != 3) {
|
||||
print $0,"number of fields is not equal to 3";
|
||||
}
|
||||
|
||||
($2 < 3.35) {
|
||||
print $0,"rate is below minimum wage";
|
||||
}
|
||||
|
||||
($2 > 10) {
|
||||
print $0,"rate exceeds $10 per hour";
|
||||
}
|
||||
|
||||
($3 < 0) {
|
||||
print $0,"negative hours worked";
|
||||
}
|
||||
|
||||
($3 > 60) {
|
||||
print $0,"too many hours worked";
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
BEGIN {
|
||||
print "NAME RATE HOURS";
|
||||
print "";
|
||||
}
|
||||
|
||||
{
|
||||
print;
|
||||
}
|
||||
|
||||
NAME RATE HOURS
|
||||
|
||||
Beth 4.00 0
|
||||
Dan 3.74 0
|
||||
Kathy 4.00 10
|
||||
Mark 5.00 20
|
||||
Mary 5.50 22
|
||||
Susie 4.25 18
|
@ -1,8 +0,0 @@
|
||||
($3 > 15) {
|
||||
emp = (emp + 1);
|
||||
}
|
||||
|
||||
END {
|
||||
print emp,"employees worked more than 15 hours";
|
||||
}
|
||||
3 employees worked more than 15 hours
|
@ -1,4 +0,0 @@
|
||||
END {
|
||||
print NR,"employees";
|
||||
}
|
||||
6 employees
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
pay = (pay + ($2 * $3));
|
||||
}
|
||||
|
||||
END {
|
||||
print NR,"employees";
|
||||
print "total pay is",pay;
|
||||
print "average pay is",(pay / NR);
|
||||
}
|
||||
6 employees
|
||||
total pay is 337.5
|
||||
average pay is 56.25
|
@ -1,9 +0,0 @@
|
||||
($2 > maxrate) {
|
||||
maxrate = $2;
|
||||
maxemp = $1;
|
||||
}
|
||||
|
||||
END {
|
||||
print "highest hourly rage:",maxrate,"for",maxemp;
|
||||
}
|
||||
highest hourly rage: 5.50 for Mary
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
names = ((names $1) " ");
|
||||
}
|
||||
|
||||
END {
|
||||
print names;
|
||||
}
|
||||
Beth Dan Kathy Mark Mary Susie
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
last = $0;
|
||||
}
|
||||
|
||||
END {
|
||||
print last;
|
||||
}
|
||||
Susie 4.25 18
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
print $1,length ($1);
|
||||
}
|
||||
|
||||
Beth 4
|
||||
Dan 3
|
||||
Kathy 5
|
||||
Mark 4
|
||||
Mary 4
|
||||
Susie 5
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
nc = ((nc + length ($0)) + 1);
|
||||
nw = (nw + NF);
|
||||
}
|
||||
|
||||
END {
|
||||
print NR,"lines,",nw,"words,",nc,"characters";
|
||||
}
|
||||
6 lines, 18 words, 77 characters
|
@ -1,12 +0,0 @@
|
||||
($2 > 6) {
|
||||
n = (n + 1);
|
||||
pay = (pay + ($2 * $3));
|
||||
}
|
||||
|
||||
END {
|
||||
if ((n > 0))
|
||||
print n,"employees, total pay is",pay,"average pay is",(pay / n);
|
||||
else
|
||||
print "no employees are paid more than $6/hour";
|
||||
}
|
||||
no employees are paid more than $6/hour
|
@ -1,18 +0,0 @@
|
||||
{
|
||||
line[NR] = $0;
|
||||
}
|
||||
|
||||
END {
|
||||
i = NR;
|
||||
while ((i > 0))
|
||||
{
|
||||
print line[i];
|
||||
i = (i - 1);
|
||||
}
|
||||
}
|
||||
Susie 4.25 18
|
||||
Mary 5.50 22
|
||||
Mark 5.00 20
|
||||
Kathy 4.00 10
|
||||
Dan 3.74 0
|
||||
Beth 4.00 0
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
line[NR] = $0;
|
||||
}
|
||||
|
||||
END {
|
||||
i = NR;
|
||||
for (i = NR; (i > 0); i = (i - 1))
|
||||
print line[i];
|
||||
}
|
||||
Susie 4.25 18
|
||||
Mary 5.50 22
|
||||
Mark 5.00 20
|
||||
Kathy 4.00 10
|
||||
Dan 3.74 0
|
||||
Beth 4.00 0
|
@ -1,6 +0,0 @@
|
||||
Beth 4.00 0
|
||||
Dan 3.74 0
|
||||
Kathy 4.00 10
|
||||
Mark 5.00 20
|
||||
Mary 5.50 22
|
||||
Susie 4.25 18
|
@ -1,6 +0,0 @@
|
||||
베쓰 4.00 0
|
||||
단 3.74 0
|
||||
케이티 4.00 10
|
||||
마크 5.00 20
|
||||
메리 5.50 22
|
||||
수지 4.25 18
|
@ -1 +0,0 @@
|
||||
Main-Class: QseAwk
|
@ -1,8 +0,0 @@
|
||||
cd ..\..\..
|
||||
move ase\cmd\awk\AwkApplet*.class .
|
||||
jar cvf AwkApplet.jar *.class ase\cmd\awk\*.class ase\awk\*.class
|
||||
move AwkApplet.jar ase\cmd\awk
|
||||
cd ase\cmd\awk
|
||||
|
||||
copy ..\..\awk\aseawk_jni.dll .
|
||||
jarsigner -keystore ase.store AwkApplet.jar asecert
|
@ -1,20 +0,0 @@
|
||||
# wordfreq.awk --- print list of word frequencies
|
||||
|
||||
{
|
||||
$0 = tolower($0); # remove case distinctions
|
||||
|
||||
# remove punctuation
|
||||
a=0;
|
||||
gsub(/[^[:alnum:]_[:blank:]]/, " ", $a);
|
||||
#gsub(/[^[:alnum:]_[:blank:]]/, " ");
|
||||
|
||||
for (i = 1; i <= NF; i++) freq[$i]++;
|
||||
}
|
||||
#/[^kkka-bcx-dd-y]|abc|def/
|
||||
|
||||
END {
|
||||
for (word in freq)
|
||||
print word, freq[word];
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user