0
私はawkの絶対初心者です。awk特定のフィールドが一致すると行が追加されます
は、私はこのデータを持っている:
FOO|BAR|1234|A|B|C|D|
FOO|BAR|1234|E|F|G|H|
FOO|BAR|5678|I|J|K|L|
FOO|BAR|5678|M|N|O|P|
FOO|BAR|5678|Q|R|S|T|
所望の出力:
FOO|BAR|1234|A|B|C|D|E|F|G|H|
FOO|BAR|5678|I|J|K|L|M|N|O|P|Q|R|S|T|
を基本的に私は、列3試合のラインにいくつかのフィールドを追加する必要があります。
ありがとうございました。
それを印刷する必要があり、再起動| XYZ | 5678 | D | C | B | A | 'が最後に追加されました。 'D | C | B | A | 'をサンプル出力の最後の行に追加するか、新しい出力行にする必要がありますか?別の言い方をすれば、質問が現時点で言うように3列目であると確信しているのですか、より説得力のある「最初の3列」を意味しますか? –
処理中:パイプ記号で分割。列3に古い値の記録を残す。古い値と現在の値が同じ場合は、現在の行に列4-7を追加します。古い値と現在の値が異なる場合は、古い行(存在する場合)を印刷し、古い値を3列目に設定し、後で追加できるように現在のレコードを保存します。 –
'FOO | BAR | 5678 | I | J | K | L | M | N | O | P | Q | R | S | T | D | C | B | A' - 余分な線が追加されます。私が扱っているデータには、同じ値を持つこれらのフィールドがあります。 – BlueHam