OT: sed/awk pointers needed

Francois Claire fclaire at free.fr
Thu Oct 2 05:36:05 PDT 2014


Hi Craig,



You can pipe the following awk command:

awk '/has the variants/ {curport=$1; next} NF==1 && $1~/\[\+\]/ {print 
curport,substr($1,4),"Default"; next} NF==1 {print curport,$1,"N"}'


Francois.

Le 30/09/2014 17:44, Craig Treleaven a écrit :
> tl;dr version:
> How do I transform a listing like this:
>
> $ port variants php53-mysql php54-mysql |grep -v conflicts |grep -e 
> mariadb -e mysql -e percona | cut -d : -f 1
> php53-mysql has the variants
>    mariadb
>    mysql4
>    mysql5
>    mysql51
>    mysql55
>    mysql56
> [+]mysqlnd
>    percona
> php54-mysql has the variants
>    mariadb
>    mysql4
>    mysql5
>    mysql51
>    mysql55
>    mysql56
> [+]mysqlnd
>    percona
>
> into:
>
> php53-mysql   mariadb N
> php53-mysql   mysql4 N
> php53-mysql   mysql5 N
> php53-mysql   mysql51 N
> php53-mysql   mysql55 N
> php53-mysql   mysql56 N
> php53-mysql   mysqlnd Default
> php53-mysql   percona N
> php54-mysql   mariadb N
> php54-mysql   mysql4 N
> php54-mysql   mysql5 N
> php54-mysql   mysql51 N
> php54-mysql   mysql55 N
> php54-mysql   mysql56 N
> php54-mysql   mysqlnd Default
> php54-mysql   percona N
>
>
> I have only rudimentary acquaintance with sed and less with awk. I'd 
> like to learn more and this seemed like an opportunity to do so. From 
> some reading [1], I think sed's Hold buffer is the way to extract the 
> port name and insert it onto the line with each of the variants.  But 
> the tutorial only uses the hold buffer for full lines; not just, say, 
> the first word of the line.  Is this possible?  How does one do that?
>
> [1] http://www.grymoire.com/Unix/Sed.html#uh-52
>
> Or maybe I'm barking up the wrong tree?  Is there another 
> tool/technique that is better suited?
>
> Thanks in advance,
>
> Craig
> _______________________________________________
> macports-dev mailing list
> macports-dev at lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/macports-dev
>



More information about the macports-dev mailing list