並べ替え
***record*** TAG1 A TAG2 B irrelevant------------------ TAG2 C TAG3 D TAG4 E # ***record*** TAG1 f TAG2 g TAG2 h irrelevant------------------ TAG3 i TAG4 j #
というファイルがあり、これを以下のようにしたいというものです。
A TAB B C TAB D TAB E f TAB g h TAB i TAB j
回答は以下のようなものが上がっています。
/^\*\*\*record/ { tags="" } /^#/ { print tags } /^irrelevant/ { next } { sep = (t!=$1 ? (tags=="" ? "" : "\t") : " ") } { tags = tags sep $2 ; t = $1}