Re: AWK (kanske) fråga

Leif Larsson leif.larsson at l3system.se
Fri May 25 09:27:08 CEST 2018


Wow, det där är alla oneliners fader :-)

Tusen tack, testar!

Hälsningar,

/Leif

On 05/24/2018 06:10 PM, Daniel Lublin via BUS wrote:
> OK, awk, om du säger det så! Det är ju förvisso trevligt för lite
> text-processande, och har väldigt få beroenden.
> 
> Här är en liten ansats, med föga felhantering, och som förutsätter att
> dataformatet du beskriver följs hårt. Särskilt att poster separeras med en
> eller flera tomma rader (RS=""). Man kan ju både tänka sig att man låter
> awk-scriptet spotta ur sig skal-kommandon till en fil (som sedan sourcas),
> alternativt kör man system() direkt i awk.
> 
> #!/usr/bin/awk -f
> 
> BEGIN { RS=""; FS="\n" }
> 
> function strip(s) {
>   sub(/^[[:space:]]+/, "", s)
>   sub(/[[:space:]]+$/, "", s)
>   return s
> }
> 
> {
>   delete rec
>   for (i = 1; i <= NF; i++) {
>     sep = index($i, ":")
>     if (sep) {
>       k = substr($i, 0, sep-1)
>       rec[k] = strip(substr($i, sep+1))
>     }
>   }
>   printf("samba-tool user add '%s' --surname='%s'" \
>          " --given-name='%s' --mail-address='%s'\n",
>          rec["uid"], rec["sn"], rec["givenName"], rec["mail"])
> }
> _________________________________________________
> BSD Users Sweden -- BUS at stacken.kth.se
> https://lists.stacken.kth.se/mailman/listinfo/bus
> 


More information about the BUS mailing list