2012年1月19日星期四

Split inside specific column and expend to key-value extractor

col2kv ()
{
    perl -F\\t -lane 'BEGIN{ $i=shift; @h=split q(,), shift; print STDERR join qq(\t), @h } %k=map { @{[split(q(:), $_)]}[0,1] } split q(, ), $F[$i]; print join qq(\t), map { $k{$_} } @h' $*
}

$ echo 2010Q1:H, 2007:Y, 2009:Y| col2kv 0 2006,2007,2008,2009,2010Q1,2010Q2 2>&1| row2col
2006
2007    Y
2008
2009    Y
2010Q1  H
2010Q2

Posted via email from purl's posterous

没有评论: