tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: help with awk



Appending to this on-list: I've solved this with the help of he@ and
some later additions by myself.

Nikita Ronja Gillmann transcribed 1.2K bytes:
> Given the following line(s) of a file as an example:
> 
> source = { git = "https://github.com/Beaglefoot/tree-sitter-awk";, rev = "a799bc5da7c2a84bc9a06ba5f3540cf1191e4ee3" }
> 
> and this awk script:
> 
> BEGIN { print "# $Net" "BSD$"; }
> /(^|\n)source =/ { 
>         for (i = 1; i <= NF; i++) {
>                 sub("\"","")
>                 sub(",","")
>                 split($i, f, " ")
>                 print "field f["$i"]"
>                 if (f[$i] ~ /^https/)
>                         name=f[6]
>                 if (f[$i] ~ /[a-f0-9]{40}/)
>                         vers=f[9]
>                 print name
>                 print vers
>         }
>         print "DISTFILES+=\t" name "-" vers ".tar.gz"
> }
> # SITES.name-vers.tar.gz= -url/archive/vers.tar.gz
> #/^source = {/ { print "DISTFILES+=\t" name "-" vers ".tar.gz"; }
> 
> 
> what do I fix to correctly output
> DISTFILES+=	name-vers.tar.gz
> SITES.name-vers.tar.gz= -url/archive/vers.tar.gz
> 
> where name is the last path part of url?
> I know I'm still missing filtering the name from the url, and basically
> everything else, as it's been too long since I had to work in awk.
> 
> 
> This is to spare myself or whoever updates editor/helix to do the same
> copy-pasting 30+ minutes process again and again with every new release.


Home | Main Index | Thread Index | Old Index