파일에서 열 인쇄 - awk

파일에서 열 인쇄 - awk

입력 파일의 테이블 영역을 제한하고 거기에서 숫자를 인쇄하는 프로그램이 있습니다. 그 중 일부는 산술 연산 이후에 발생합니다. 저는 이 프로그램을 여러 파일에 사용합니다.

BEGIN { CONVFMT="%0.17f" }
/D Format/ { in_f_format=0; next }
/F Format/ { in_f_format=1; next }
in_f_format != 1 { next }
!($1 ~ /^[1-9]/) { next }
$1 == 11 { prt(180,3.141592653589); next }
$1 == 15 { prt(100,1); next }
$1 == 20 { prt(10,1); next }
$1 == 26 { next }
{ prt(1,1) }

function prt(mult, div) {
print trunc($5 * mult / div) ORS trunc($6 * mult / div)
}

function trunc(n, s) {
s=index(n,".")
return (s ? substr(n,1,s+6) : n)
}

그래서 난 글을 쓴다

awk -f program.awk input??.txt > output

모든 파일에서 숫자 열을 얻습니다. 더 많은 열을 얻을 수 있습니까? 즉, 하나의 파일에 하나의 열을 의미합니까? 감사해요

입력 파일 1이 있습니다.

                      Input-Output in F Format

No.  Curve    Input Param.        Correction     Output Param.    Standard Deviation
26      0  56289.1246870000     -0.0005061178  56289.1241808822      0.0012471332
35      1      0.2201000000      0.0006011114      0.2207011114      0.0002586201
35      2      0.2193000000      0.0006195591      0.2199195591      0.0002380170
35      3      0.2210000000      0.0005884910      0.2215884910      0.0003098441
35      4      0.2196000000     -0.0027586643      0.2168413357      0.0001745397
35      5      0.2186000000      0.0016105429      0.2202105429      0.0004368731
35      6      0.2257000000      0.0077345656      0.2334345656      0.0012506282
35      7      0.2209000000     -0.0000044351      0.2208955649      0.0008990331
35      8      0.2112000000      0.0000913711      0.2112913711      0.0018160767


                      Input-Output in D Format

그리고 파일 2를 입력하세요.

                      Input-Output in F Format

No.  Curve    Input Param.        Correction     Output Param.    Standard Deviation
 9      0     39.1391000000      0.1608047780     39.2999047780      0.6803853635
11      0      2.7484760000      0.0165707420      2.7650467420      0.0156115006
15      0      0.2212000000     -0.0003215801      0.2208784199      0.0128582929
16      0     80.7925356667     -1.4577069901     79.3348286765      0.1840479039
20      0      2.3163000000     -0.0200039621      2.2962960379      0.0170402504
23      0      4.0020100000      0.0191413168      4.0211513168      0.0136079710
24      0      8.3993500000      0.0189869075      8.4183369075      0.0323801135
26      0  56289.1141540000     -0.0026432978  56289.1115107022      0.0012385980
35      1      0.2275000000     -0.0005258410      0.2269741590      0.0003254581
35      2      0.2286000000     -0.0004090407      0.2281909593      0.0003178654
35      3      0.2296000000     -0.0003626760      0.2292373240      0.0003380276
35      4      0.2247000000      0.0026600182      0.2273600182      0.0003067233
35      5      0.2369000000      0.0004565594      0.2373565594      0.0003858194
35      6      0.2736000000      0.0057719235      0.2793719235      0.0008400692
35      7      0.2285000000     -0.0013381191      0.2271618809      0.0006135248
35      8      0.2178000000     -0.0017247826      0.2160752174      0.0011717965

출력은 다음과 같습니다

0.220701
0.000258
0.219919
0.000238
0.221588
0.000309
0.216841
0.000174
0.220210
0.000436
0.233434
0.001250
0.220895
0.000899
0.211291
0.001816
39.299904
0.680385
158.425508
0.894473
22.087841
1.285829
79.334828
0.184047
22.962960
0.170402
4.021151
0.013607
8.418336
0.032380
0.226974
0.000325
0.228190
0.000317
0.229237
0.000338
0.227360
0.000306
0.237356
0.000385
0.279371
0.000840
0.227161
0.000613
0.216075
0.001171

원하는 출력:

0.220701    39.299904
0.000258    0.680385
0.219919    158.425508
0.000238    0.894473
0.221588    22.087841
0.000309    1.285829
0.216841    79.334828
0.000174    0.184047
0.220210    22.962960
0.000436    0.170402
0.233434    4.021151
0.001250    0.013607
0.220895    8.418336
0.000899    0.032380
0.211291    0.226974
0.001816    0.000325
            0.228190
            0.000317
            0.229237
            0.000338
            0.227360
            0.000306
            0.237356
            0.000385
            0.279371
            0.000840
            0.227161
            0.000613
            0.216075
            0.001171

하나의 열에 하나의 입력에 대한 출력을 얻고 싶습니다.

관련 정보