58 lines
1.5 KiB
Awk
58 lines
1.5 KiB
Awk
# mkdz.awk
|
|
# make dozoo script from shipping list
|
|
function dname(dir,sd, fn){
|
|
fn=fname(dir); # be sure parent is listed first
|
|
if( ! (sd in subdlist)){
|
|
subdlist[sd]=sd ; subdpar[sd]=dir
|
|
print "list >>Manifest" dir " <pf>-" dir "/" sd > fn
|
|
}
|
|
}
|
|
function fname(x, fnm){
|
|
fnm="dozoo" x;
|
|
if( ! (x in zlist)){
|
|
print ".key pf/a" > fnm;
|
|
print "failat 21" > fnm;
|
|
print "delete <pf>-" x ".lha" > fnm;
|
|
print "list >Manifest" x " <pf>-"x " dates all" > fnm;
|
|
zlist[x]=x;
|
|
}
|
|
return fnm
|
|
}
|
|
#{print}
|
|
/^[#S]/ {}
|
|
/^[fBE]/ {
|
|
print "cd <pf>-" $3 > fname($3)
|
|
print "lha -x a /<pf>-" $3 ".lha " $4 "/" $2 > fname($3)
|
|
# print "lz -a -x a /<pf>-" $3 ".lzh " $4 "/" $2 > fname($3)
|
|
print "cd /" > fname($3)
|
|
}
|
|
/^F/ {
|
|
print "cd <pf>-" $3 > fname($3)
|
|
print "lha -x a /<pf>-" $3 ".lha " $4 "/" $2 > fname($3)
|
|
# print "lz -a -x a /<pf>-" $3 ".lzh " $4 "/" $2 > fname($3)
|
|
print "cd /" > fname($3)
|
|
}
|
|
#/^r/ {
|
|
# if(sub(":","",$4)){
|
|
# div=":"
|
|
# } else {
|
|
# div="/"
|
|
# }
|
|
# print "lz -a -x a <pf>-" $3 ".lzh <pf>-" $3 div $4 > fname($3)
|
|
# }
|
|
#/^R/ {
|
|
# print "lz -a -x a <pf>-" $3 ".lzh <pf>-" $3 "/" $5 > fname($3)
|
|
# }
|
|
/^[^f#dFBES]/ { #out of date? (rR killed)
|
|
print "line " $0 " rejected - bad type"
|
|
}
|
|
END {
|
|
print ".key prefix/a" > "dozoo"
|
|
print "; This file generated by mkdz.awk - do not edit!" > "dozoo"
|
|
for (znum in zlist){
|
|
print "lha -a a <pf>-" znum ".lha Manifest" znum > fname(znum);
|
|
# print "lz -x -a a <pf>-" znum ".lzh Manifest" znum > fname(znum);
|
|
print "execute " fname(znum)," <prefix>" > "dozoo"
|
|
}
|
|
}
|