こんにちは、
ここでは、変更したいファイルの(一部)です。 " 3の前に"の3つのスペースに注意してください( "できる2 "または" 0 "にも) 。
コード:
3 621530 1.1935E-02 631530 1.1293E+01 641530 1.1117E-02 571540 4.4419E-14
3 581540 2.6670E-10 591540 3.8610E-09 601540 1.1016E-06 611540 3.2618E-06
3 611541 6.5572E-07 621540 9.8307E+00 631540 3.1177E+00 641540 1.4615E+00
3 571550 0.0000E+00 581550 8.8139E-12 591550 1.0739E-09 601550 2.5639E-07
3 611550 1.1011E-06 621550 3.6787E-05 631550 3.4821E+00 641550 3.1855E+00
3 641551 0.0000E+00 581560 9.4585E-13 591560 7.5358E-11 601560 1.2023E-07
3 611560 1.7968E-07 621560 5.4237E-04 631560 3.0054E-02 641560 6.5687E+00
3 581570 2.3926E-14 591570 9.9322E-12 601570 4.3929E-09 611570 4.6793E-07
3 621570 5.5911E-06 631570 6.3564E-04 641570 3.2355E+00 591580 2.8608E-13
私はいくつかの番号(例: 621530 )を見つけたいと値を変更します。
私はこのスクリプトを使用しています:
コード:
VALUE=".........."
awk -v var="$VALUE" 'BEGIN{}
NR==FNR{a[$0]=$0; next}
{for(i=2;i<9;i+=2)if($i in a){$(i+1)=var}}
#{$1=" "$1}
{print}' ID_to_be_changed my_file
問題の場合は、その行に何か変化は、行の前にある3つのスペースが削除さ...の行のコメントを削除する問題が解決されています。
しかし、行の間にスペースをどのように同じ番号を使い続けるのか分からない:後の値とIDの間には、 IDとは、次の2値との間のスペース、 1スペースは、 (上記のスクリプトをすべて1つの空間になります) 。
誰か教えていただけますか?