1

私の質問

私は1つのファイルを持っています

344  0
465  1
729  2
777  3
676  4
862  5

766  0
937  1
980  2
837  3
936  5

値が存在する場合(2列目の任意の値が2回存在する必要があります)、766-344、937-465などのように存在しない場合は、2つのペア(ゼロとゼロ、1と1など)を比較する必要があります4 番目の値は何もしない (4 が 1 回存在するので何もしない) 出力

422
472
251
060
074

また、インデックスの例を追加する必要があります

1 422
2 472
3 251
4 060
5 074

最後に、このコードを tcl スクリプトの一部として、または tcl プログラムの関数として追加する必要があります。

このようなawk関数を含むtclスクリプトがあります

  set awkCBR0 {
    {
    if ($1 == "r" && $6 == 280) {
    print $2, i  >> "cbr0.q";
             i +=1 ;
           }
    }
    }

    exec rm -f cbr0.q 
    exec touch cbr0.q

exec awk $awkCBR0 cbr.trq

ありがとう

4

1 に答える 1

1

これを試して:

awk 'a[$2]{printf "%d %03d\n",++x,$1-a[$2];next}{a[$2]=$1}' file

出力

$ awk 'a[$2]{printf "%d %03d\n",++x,$1-a[$2];next}{a[$2]=$1}' file
1 422
2 472
3 251
4 060
5 074

機能に追加するために残しtclます。

于 2013-07-10T15:24:02.117 に答える