オリジナルファイルは次のようになります。変更列の順序(列の数が異なる)
stat.sn 15094 291 usf=630 ind=32615 on_2=ON-14-6003 spd=307 i_pow=150
stat.sn 15094 361 usf=630 ind=32658 spd=307 i_pow=150
stat.sn 15094 360 usf=630 ind=32658 spd=307 i_pow=150
stat.sn 15094 272 usf=630 ind=32615 on_2=ON-14-6003 spd=307 i_pow=150
stat.sn 15094 276 usf=630 ind=32615 on_2=ON-14-6003 spd=307 i_pow=150
そして、私はそれがこのようなことする必要があります。
stat.sn 15094 291 usf=630 ind=32615 spd=307 i_pow=150 on_2=ON-14-6003
stat.sn 15094 361 usf=630 ind=32658 spd=307 i_pow=150
stat.sn 15094 360 usf=630 ind=32658 spd=307 i_pow=150
stat.sn 15094 272 usf=630 ind=32615 spd=307 i_pow=150 on_2=ON-14-6003
stat.sn 15094 276 usf=630 ind=32615 spd=307 i_pow=150 on_2=ON-14-6003
は単に言った:on_2が行に存在する場合行の最後の値にする必要があります。 残りの値の順序は変わらないはずです。存在する場合は
は、常に第六フィールドon_2ある - IND後とSPD前に。すべてのフィールドは、各行で同じ位置にあります。
私はawkがこれを行うことができると思いますが、それを行う方法を理解できません。
何か試しましたか? awkがこれを実現できるという知識があったと仮定します。 – Inian
@EdMortonは、存在する場合には最後の値/列になるようにon_2を入れ、他のものと同じ順序を保持します。 – Branko
あなたの質問には、 "on_2"フィールドが常に同じ場所に現れるかどうか(そしてあなたの例を更新しない場合)など、これまでに述べられていない要件を述べる質問があります。 –