1#!/bin/sh 2date=`date`; 3AWK=@AWK@ 4cat <<EOF 5# lpd.conf generated from $1 on $date 6# The values in this file are the default values. 7# If you modify the file, set the value to something other than the default 8# For example, 9# # default force_localhost 10# means the 'force_localhost' option default value is on or 1 11# To set it to OFF or 0, change this to read: 12# force_localhost@ 13 14EOF 15 16${AWK} ' 17/XXSTART/,/END/{ 18 if ( $0 ~ /XXSTARTXX/ ) next; 19 if ( $0 ~ /END/ ) next; 20 if ( $0 ~ /^\{/ ) { 21 print "XXX" $0; 22 } else { 23 print "YYY" $0; 24 } 25}' | sed -e '/XXX/s/[{}"]//g' -e '/XXX/s/,$//' \ 26 -e '/XXX/s/[ ][ ]*/ /g' \ 27 -e '/YYY/s/ *\*\///' -e '/YYY/s/.*\/\* *//' \ 28| ${AWK} ' 29{ 30 # print "LINE" $0; 31 if ( $0 ~ /XXX/ ) { 32 # print $0; 33 i = index($0," "); 34 l = substr($0,i); 35 FS = ","; 36 fields = split( l, a ); 37 name = a[1]; 38 i = 1 39 while( i == 1 ) { 40 i = index( name, " " ); 41 if( i == 1 ){ 42 name = substr(name,2); 43 } 44 } 45 type = a[3] + 0; 46 i = 1; 47 while( i == 1 ) { 48 i = index( type, " " ); 49 if( i == 1 ){ 50 type = substr(type,2); 51 } 52 } 53 value = a[7]; 54 for( i = 8; i <= fields; ++i ){ 55 value = value "," a[i]; 56 } 57 i = 1; 58 while( i == 1 ) { 59 i = index( value, " " ); 60 if( i == 1 ){ 61 value = substr(value,2); 62 } 63 } 64 if( index( value, "=" ) == 1 ){ 65 value = substr(value,2); 66 } 67 if( index( value, "#" ) == 1 ){ 68 value = substr(value,2); 69 } 70# F=""; 71# if( fields > 6 ){ 72# F = "FIELDS=" 73# } 74# print "name \"" name "\", type \"" type "\", value \"" F value "\""; 75 if( type == 0 ){ 76 value = value + 0; 77 # print "FLAG \"" value "\"" ; 78 if( value == 0 ){ 79 name= name "@ (FLAG off)"; 80 } else { 81 name= name " (FLAG on)"; 82 } 83 } else if( type == 1 ){ 84 if( value == "" ){ 85 value = 0; 86 } 87 name = name "=" value " (INTEGER)"; 88 } else { 89 v = ""; 90 if( value == "0"){ value = ""; v = "EMPTY " ; } 91 name = name "=" value " (" v "STRING)"; 92 } 93 print "# default " name ; 94 } else { 95 print "# Purpose: " $0; 96 } 97} 98' 99