OT: sed/awk pointers needed
Craig Treleaven
ctreleaven at macports.org
Tue Sep 30 08:44:55 PDT 2014
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
More information about the macports-dev
mailing list