Perl을 사용하여 텍스트 파일 형식 변경

Perl을 사용하여 텍스트 파일 형식 변경

Perl을 처음 접했고 간단한 탭으로 구분된 텍스트 파일을 다시 포맷하는 데 몇 가지 문제가 있습니다. 다음 샘플 형식의 데이터가 있습니다.

현재 형식

내 문제는 Excel로 가져오고 조작하기 쉽도록 다음과 같은 형식을 지정해야 한다는 것입니다.

대상 형식

형식을 다시 지정하기 위해 파일을 한 줄씩 읽는 것을 고려했지만 각 섹션의 시작 부분에 고유한 표시가 없습니다. 1-4행을 읽은 다음 5-8행을 오른쪽으로 이동하라고 지시해야 할 것 같습니다. 문제는 아직 이 작업을 수행하는 방법을 찾지 못했다는 것입니다. 이것은 간단한 질문이라는 것을 알고 있지만 검색할 수 있는 적절한 단어를 찾을 수 없습니다. 어떤 도움이라도 좋을 것입니다!

DATE            YEARS           FOPT            FWPT            FGPT            FOPR            FGPR            FPR             FOIP            FGIP        
                YEARS           STB             STB             MSCF            STB/DAY         MSCF/DAY        PSIA            STB             MSCF        
 01-JAN-2017            0              0               0               0               0               0        6115.914        83583.97        116465.9        
 02-JAN-2017     0.002738       11.00000        601.0318        15.32740        11000.00        15327.40        6113.142        83572.97        116450.6        
 01-FEB-2017     0.084873       341.0000        19152.75        475.1494        11000.00        15327.40        6031.021        83243.02        115990.8        
 01-MAR-2017     0.161533       649.0000        37292.66        904.3167        11000.00        15327.40        5956.524        82935.01        115561.6        
 01-APR-2017     0.246407       990.0000        58243.70        1379.466        11000.00        15327.40        5876.442        82593.99        115086.5        
 01-MAY-2017     0.328542       1320.000        79079.74        1839.288        11000.00        15327.40        5800.343        82263.99        114626.6        
 01-JUN-2017     0.413415       1661.000        101135.3        2314.438        11000.00        15327.40        5722.951        81923.01        114151.5        
 01-JUL-2017     0.495551       1991.000        122918.9        2774.260        11000.00        15327.40        5648.966        81593.01        113691.7        
 01-AUG-2017     0.580424       2332.000        145857.5        3249.409        11000.00        15327.40        5573.238        81252.01        113216.5        
 01-SEP-2017     0.665298       2673.000        169191.9        3724.558        11000.00        15327.40        5498.008        80911.01        112741.4        
 01-OCT-2017     0.747433       3003.000        192119.9        4184.380        11000.00        15327.40        5425.544        80581.02        112281.6        
 01-NOV-2017     0.832307       3344.000        216161.2        4659.529        11000.00        15327.40        5350.898        80240.03        111806.5        
 01-DEC-2017     0.914442       3674.000        239740.7        5119.352        11000.00        15327.40        5278.792        79910.03        111346.6        
 01-JAN-2018     0.999316       4015.000        264431.3        5594.501        11000.00        15327.40        5204.354        79569.03        110871.5        
 01-FEB-2018     1.084189       4356.000        289439.2        6069.650        11000.00        15327.40        5129.924        79228.04        110396.4        
 01-MAR-2018     1.160849       4664.000        312282.3        6498.817        11000.00        15327.37        5062.650        78920.04        109967.2        
 01-APR-2018     1.245722       5005.000        337896.2        6973.841        11000.00        15323.38        4988.142        78579.04        109492.2        
 01-MAY-2018     1.327858       5335.000        363235.5        7431.890        11000.00        15268.27        4916.500        78249.04        109034.1        
 01-JUN-2018     1.412731       5676.000        390436.5        7901.710        11000.00        15155.48        4843.414        77908.03        108564.3        
 01-JUL-2018     1.494866       6006.000        417998.2        8354.361        11000.00        15088.38        4773.151        77578.03        108111.6        
 01-AUG-2018     1.579740       6347.000        447697.2        8821.693        11000.00        15075.22        4702.125        77237.03        107644.3        
 01-SEP-2018     1.664613       6688.000        478313.0        9289.262        11000.00        15082.86        4634.229        76896.02        107176.7        
 01-OCT-2018     1.746749       7018.000        508719.2        9740.840        11000.00        15052.62        4571.810        76566.02        106725.1        
 01-NOV-2018     1.831622       7359.000        540988.8        10206.46        11000.00        15020.06        4511.004        76225.01        106259.5        
 01-DEC-2018     1.913758       7689.000        573010.3        10656.68        11000.00        15007.15        4455.262        75895.01        105809.3        
 01-JAN-2019     1.998631       8030.000        606992.3        11121.45        11000.00        14992.70        4401.024        75554.01        105344.5        
 01-FEB-2019     2.083504       8371.000        641948.6        11585.98        11000.00        14984.82        4349.885        75213.01        104880.0        
 01-MAR-2019     2.160164       8679.000        674396.6        12005.95        11000.00        14999.00        4306.338        74905.01        104460.0        
 01-APR-2019     2.245038       9020.000        711534.7        12472.28        11000.00        15042.73        4260.784        74564.01        103993.7        
 01-MAY-2019     2.327173       9350.000        748723.5        12926.13        11000.00        15128.47        4219.197        74234.01        103539.8        
 01-JUN-2019     2.412046       9691.000        788594.9        13399.80        11000.00        15279.53        4178.616        73893.01        103066.2        
 01-JUL-2019     2.494182       10021.00        828604.3        13864.18        11000.00        15479.50        4141.516        73563.01        102601.8        
 01-AUG-2019     2.579056       10362.00        871545.1        14352.02        11000.00        15736.85        4105.234        73222.02        102113.9        
 01-SEP-2019     2.663929       10703.00        916133.9        14849.75        11000.00        16055.69        4070.880        72881.02        101616.2        
 01-OCT-2019     2.746064       11033.00        960886.4        15342.65        11000.00        16430.03        4039.280        72551.02        101123.3        
 01-NOV-2019     2.830938       11374.00        1008906.        15866.13        11000.00        16886.49        4008.094        72210.02        100599.9        
 01-DEC-2019     2.913073       11704.00        1057105.        16387.50        11000.00        17379.03        3979.109        71880.02        100078.5        
 01-JAN-2020     2.997947       12045.00        1108823.        16944.17        11000.00        17957.03        3950.133        71539.02        99521.81        
 01-FEB-2020     3.082820       12386.00        1162527.        17521.07        11000.00        18609.75        3921.907        71198.02        98944.91        
 01-MAR-2020     3.162218       12705.00        1214570.        18080.01        11000.00        19273.78        3895.990        70879.02        98385.98        
 01-APR-2020     3.247091       13046.00        1272386.        18701.42        11000.00        20045.55        3868.502        70538.03        97764.57        
 01-MAY-2020     3.329226       13376.00        1330490.        19327.26        11000.00        20861.12        3841.818        70208.03        97138.73        
 01-JUN-2020     3.414100       13717.00        1392917.        20001.99        11000.00        21765.62        3813.719        69867.03        96464.01        
 01-JUL-2020     3.496235       14047.00        1455673.        20682.99        11000.00        22700.08        3785.762        69537.03        95783.01        
 01-AUG-2020     3.581109       14388.00        1523140.        21417.82        11000.00        23704.14        3755.854        69196.04        95048.19        
 01-SEP-2020     3.665982       14728.45        1593156.        22183.11        10982.29        24686.80        3724.873        68855.59        94282.90        
 01-OCT-2020     3.748118       15056.25        1663019.        22949.65        10926.60        25551.35        3693.925        68527.79        93516.37        
 01-NOV-2020     3.832991       15391.43        1736970.        23762.90        10812.30        26233.86        3661.145        68192.62        92703.12        
 01-DEC-2020     3.915127       15710.64        1809460.        24561.33        10640.33        26614.34        3628.994        67873.41        91904.70        
 01-JAN-2021     4.000000       16033.87        1885083.        25392.98        10426.67        26827.46        3595.533        67550.20        91073.05        
 01-FEB-2021     4.084873       16349.32        1960994.        26224.89        10175.95        26835.54        3562.091        67234.72        90241.12        
 01-MAR-2021     4.161533       16628.56        2029893.        26977.77        9972.877        26888.75        3531.852        66955.48        89488.23        
 01-APR-2021     4.246407       16929.99        2106415.        27807.48        9723.618        26764.77        3498.559        66654.05        88658.52        
 01-MAY-2021     4.328542       17213.58        2180354.        28601.85        9452.904        26479.18        3466.719        66370.46        87864.15        
 01-JUN-2021     4.413415       17497.78        2256434.        29410.77        9167.752        26094.13        3434.329        66086.24        87055.20        
 01-JUL-2021     4.495551       17765.01        2329750.        30182.55        8907.761        25725.89        3403.460        65819.00        86283.39        
 01-AUG-2021     4.580424       18032.82        2405005.        30966.76        8638.755        25297.12        3372.135        65551.18        85499.14        
 01-SEP-2021     4.665298       18292.97        2479825.        31738.92        8392.174        24908.24        3341.327        65291.03        84727.00        
 01-OCT-2021     4.747433       18538.09        2551866.        32475.83        8170.492        24563.67        3311.953        65045.89        83990.05        
 01-NOV-2021     4.832307       18784.75        2625954.        33227.18        7956.682        24237.34        3282.043        64799.22        83238.66        
 01-DEC-2021     4.914442       19017.61        2697346.        33945.43        7762.066        23941.38        3253.480        64566.34        82520.38        
 01-JAN-2022     4.999316       19252.35        2770808.        34678.90        7572.204        23660.49        3224.343        64331.61        81786.92        
 01-FEB-2022     5.084189       19481.50        2843976.        35404.35        7392.131        23401.59        3195.548        64102.44        81061.42        
 01-MAR-2022     5.160849       19684.14        2909827.        36053.44        7236.975        23181.83        3169.805        63899.79        80412.31        
 01-APR-2022     5.245722       19903.39        2982450.        36765.10        7072.589        22956.78        3141.603        63680.52        79700.62        
 01-MAY-2022     5.327857       20110.98        3052469.        37447.84        6919.914        22758.06        3114.568        63472.91        79017.84        
 01-JUN-2022     5.412731       20320.81        3124543.        38147.35        6768.508        22564.88        3086.888        63263.07        78318.29        
 01-JUL-2022     5.494866       20519.63        3194034.        38819.07        6627.315        22390.69        3060.327        63064.23        77646.52        
 01-AUG-2022     5.579740       20720.71        3265567.        39508.09        6486.450        22226.12        3033.104        62863.13        76957.45        
 01-SEP-2022     5.664613       20917.56        3336825.        40192.39        6350.217        22074.62        3006.091        62666.28        76273.15        
 01-OCT-2022     5.746749       21104.24        3405524.        40850.45        6222.399        21934.84        2980.133        62479.59        75615.07        
 01-NOV-2022     5.831622       21293.17        3476231.        41526.19        6094.632        21798.19        2953.498        62290.66        74939.34        
 01-DEC-2022     5.913758       21472.41        3544389.        42176.40        5974.562        21673.90        2927.886        62111.43        74289.13        
 01-JAN-2023     5.998631       21653.89        3614528.        42844.56        5854.217        21553.48        2901.587        61929.95        73620.98        
 01-FEB-2023     6.083505       21831.75        3684371.        43509.15        5737.413        21438.46        2875.450        61752.10        72956.40        
 01-MAR-2023     6.160164       21989.52        3747209.        44106.70        5634.736        21340.87        2851.968        61594.31        72358.83        
 01-APR-2023     6.245038       22160.77        3816470.        44765.12        5524.197        21239.28        2826.114        61423.05        71700.38        
 01-MAY-2023     6.327173       22323.37        3883202.        45399.50        5420.102        21146.31        2801.226        61260.44        71065.95        
 01-JUN-2023     6.412046       22488.15        3951834.        46052.21        5315.413        21055.13        2775.637        61095.64        70413.20        
 01-JUL-2023     6.494182       22644.65        4017942.        46681.34        5216.496        20970.99        2750.992        60939.13        69784.02        
 01-AUG-2023     6.579055       22803.27        4085914.        47328.90        5116.863        20889.10        2725.648        60780.51        69136.47        
 01-SEP-2023     6.663929       22958.88        4153538.        47974.04        5019.781        20810.89        2700.421        60624.89        68491.30        
 01-OCT-2023     6.746064       23106.72        4218645.        48596.20        4928.067        20738.50        2676.114        60477.05        67869.16        
 01-NOV-2023     6.830938       23256.62        4285554.        49236.91        4835.434        20668.34        2651.099        60327.14        67228.40        
 01-DEC-2023     6.913073       23399.05        4349950.        49854.96        4747.661        20601.36        2626.989        60184.71        66610.37        
 01-JAN-2024     6.997947       23543.49        4416106.        50491.52        4659.146        20534.46        2602.172        60040.27        65973.77        
 01-FEB-2024     7.082820       23685.24        4481867.        51126.05        4572.865        20468.70        2577.455        59898.50        65339.21        
 01-MAR-2024     7.162218       23815.57        4543030.        51717.87        4494.042        20407.46        2554.418        59768.16        64747.36        
 01-APR-2024     7.247091       23952.33        4607999.        52348.48        4411.715        20342.14        2529.892        59631.40        64116.77        
 01-MAY-2024     7.329226       24082.35        4670476.        52956.85        4333.859        20279.16        2506.248        59501.38        63508.37        
 01-JUN-2024     7.414100       24214.26        4734605.        53583.48        4255.169        20213.80        2481.915        59369.47        62881.75        
 01-JUL-2024     7.496235       24339.69        4796254.        54187.91        4180.820        20147.85        2458.463        59244.04        62277.29        
 01-AUG-2024     7.581109       24466.97        4859514.        54810.26        4105.856        20075.47        2434.336        59116.76        61654.96        
 01-SEP-2024     7.665982       24591.98        4922323.        55430.28        4032.603        20000.66        2410.316        58991.75        61034.94        
 01-OCT-2024     7.748118       24710.87        4982678.        56028.05        3963.209        19925.92        2387.173        58872.85        60437.14        
 01-NOV-2024     7.832991       24831.55        5044581.        56643.31        3892.922        19846.90        2363.376        58752.17        59821.89        
 01-DEC-2024     7.915127       24946.34        5104051.        57236.38        3826.302        19768.92        2340.457        58637.38        59228.83                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
DATE            FWIP            WOPR            WOPR            WOPR            WOPR            WOPR            WOPR            WOPR            WOPR        
                                PROD1           PROD2           PROD3           PROD4           PROD5           PROD6           PROD7           PROD8       
 01-JAN-2017     217100.9              0               0               0               0               0               0               0               0        
 02-JAN-2017     217100.4       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-FEB-2017     217081.9       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-MAR-2017     217063.7       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-APR-2017     217042.8       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-MAY-2017     217022.0       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JUN-2017     216999.9       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JUL-2017     216978.1       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-AUG-2017     216955.2       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-SEP-2017     216931.9       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-OCT-2017     216909.0       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-NOV-2017     216885.0       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-DEC-2017     216861.4       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JAN-2018     216836.7       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-FEB-2018     216811.7       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-MAR-2018     216788.9       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-APR-2018     216763.3       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-MAY-2018     216737.9       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JUN-2018     216710.7       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JUL-2018     216683.2       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-AUG-2018     216653.5       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-SEP-2018     216622.8       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-OCT-2018     216592.5       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-NOV-2018     216560.2       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-DEC-2018     216528.1       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JAN-2019     216494.2       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-FEB-2019     216459.2       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-MAR-2019     216426.8       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-APR-2019     216389.6       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-MAY-2019     216352.4       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JUN-2019     216312.6       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JUL-2019     216272.6       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-AUG-2019     216229.6       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-SEP-2019     216185.0       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-OCT-2019     216140.3       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-NOV-2019     216092.2       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-DEC-2019     216044.0       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JAN-2020     215992.3       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-FEB-2020     215938.6       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-MAR-2020     215886.6       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-APR-2020     215828.8       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-MAY-2020     215770.7       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JUN-2020     215708.2       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-JUL-2020     215645.5       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-AUG-2020     215578.0       1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        1000.000        
 01-SEP-2020     215508.0       1000.000        1000.000        1000.000        1000.000        982.2889        1000.000        1000.000        1000.000        
 01-OCT-2020     215438.1       1000.000        1000.000        1000.000        987.8972        938.7014        1000.000        1000.000        1000.000        
 01-NOV-2020     215364.2       1000.000        1000.000        1000.000        944.6985        898.9819        993.3375        975.2858        1000.000        
 01-DEC-2020     215291.7       1000.000        1000.000        987.2924        908.1062        864.7061        949.7439        930.4863        1000.000        
 01-JAN-2021     215216.1       1000.000        1000.000        943.4799        873.7346        832.9124        912.0916        890.2245        997.2469        
 01-FEB-2021     215140.2       1000.000        1000.000        904.1622        842.4350        804.3555        879.0031        854.7082        956.0581        
 01-MAR-2021     215071.3       1000.000        1000.000        870.7736        816.3723        780.9267        852.0299        825.9931        924.7631        
 01-APR-2021     214994.8       954.7792        1000.000        836.0588        789.7103        757.3873        824.8868        797.7160        894.4819        
 01-MAY-2021     214920.8       911.0792        975.8620        804.8063        765.7391        736.3005        800.6694        773.0909        868.2468        
 01-JUN-2021     214844.8       871.5847        937.1240        775.2373        742.5759        716.0410        777.5660        749.9798        843.6501        
 01-JUL-2021     214771.4       837.2768        904.5201        749.1047        721.7236        697.7020        756.6818        729.3855        821.6621        
 01-AUG-2021     214696.2       805.1511        874.2014        724.3899        701.5703        679.8192        736.4651        709.6801        800.4880        
 01-SEP-2021     214621.4       775.9127        846.4084        701.6760        682.5485        662.8802        717.3998        691.2787        780.7114        
 01-OCT-2021     214549.3       749.7907        821.4545        681.2459        665.1164        647.3070        699.8309        674.5302        762.7043        
 01-NOV-2021     214475.2       724.7822        797.2998        661.5366        648.1502        632.0221        682.5051        658.1393        745.2293        
 01-DEC-2021     214403.9       702.2817        775.4427        643.6191        632.6422        617.8698        666.4878        643.0541        729.3002        
 01-JAN-2022     214330.4       680.4999        754.2415        626.3231        617.6350        603.8210        650.6306        628.1135        713.7378        
 01-FEB-2022     214257.2       659.8911        734.3206        610.0309        603.4741        590.4399        635.4551        613.7855        698.9329        
 01-MAR-2022     214191.4       642.2538        717.2426        596.0644        591.3438        578.7999        622.2927        601.3787        686.1025        
 01-APR-2022     214118.8       623.9185        699.1006        581.3417        578.5496        566.3484        608.2764        588.2858        672.5278        
 01-MAY-2022     214048.7       607.1064        682.3412        567.8176        566.6968        554.7045        595.2209        576.1414        660.0051        
 01-JUN-2022     213976.7       590.6409        665.6839        554.4908        554.8932        543.1304        582.4323        564.1412        647.6615        
 01-JUL-2022     213907.2       575.4573        650.1886        542.1431        543.8680        532.2566        570.5046        552.9880        636.2126        
 01-AUG-2022     213835.6       560.4908        634.7764        529.9006        532.8980        521.3388        558.5575        541.8364        624.8486        
 01-SEP-2022     213764.4       546.1125        619.8396        518.0843        522.3292        510.7354        546.9831        531.0200        613.9029        
 01-OCT-2022     213695.7       532.6774        605.8235        507.0684        512.4412        500.7822        536.1215        520.8680        603.6258        
 01-NOV-2022     213625.0       519.3000        591.8784        496.1144        502.6051        490.8404        525.2750        510.7014        593.3254        
 01-DEC-2022     213556.8       506.7961        578.8516        485.8417        493.3380        481.4926        515.1389        501.1455        583.6576        
 01-JAN-2023     213486.7       494.4056        565.7899        475.5480        484.0696        472.1001        505.0061        491.5585        574.0311        
 01-FEB-2023     213416.8       482.5743        553.1757        465.5555        475.0787        462.9993        495.1956        482.2538        564.6810        
 01-MAR-2023     213354.0       472.3383        542.1322        456.7924        467.1158        454.9959        486.5961        474.0770        556.4614        
 01-APR-2023     213284.7       461.4807        530.2675        447.3766        458.4506        446.3148        477.3195        465.2596        547.6060        
 01-MAY-2023     213218.0       451.3690        519.0997        438.5150        450.2431        438.0808        468.5681        456.9575        539.2471        
 01-JUN-2023     213149.4       441.2621        507.8943        429.6058        441.9771        429.7339        459.8121        448.6269        530.8021        
 01-JUL-2023     213083.3       431.7662        497.3611        421.2060        434.1180        421.8166        451.5902        440.7804        522.8068        
 01-AUG-2023     213015.3       422.2752        486.8068        412.7331        426.1255        413.8506        443.2768        432.8996        514.7522        
 01-SEP-2023     212947.7       413.1162        476.5677        404.4641        418.2681        406.1547        435.1566        425.2336        506.8900        
 01-OCT-2023     212882.6       404.5550        466.9713        396.6953        410.8031        398.8955        427.4897        417.9343        499.4341        
 01-NOV-2023     212815.7       395.9970        457.3140        388.8615        403.2310        391.5630        419.7724        410.5210        491.8303        
 01-DEC-2023     212751.3       387.9415        448.2274        381.4816        396.0516        384.6046        412.4950        403.4929        484.5848        
 01-JAN-2024     212685.1       379.8392        439.1288        374.0844        388.7751        377.5343        405.2380        396.4141        477.2164        
 01-FEB-2024     212619.3       372.0302        430.2736        366.9381        381.6602        370.5826        398.1076        389.5168        469.9796        
 01-MAR-2024     212558.2       364.9457        422.1958        360.4506        375.1520        364.2364        391.5271        383.2607        463.3111        
 01-APR-2024     212493.2       357.5526        413.7945        353.6817        368.3677        357.6051        384.6405        376.6964        456.3391        
 01-MAY-2024     212430.7       350.6023        405.8729        347.2823        361.9444        351.3568        378.1276        370.4241        449.7133        
 01-JUN-2024     212366.6       343.5552        397.8953        340.8221        355.4449        345.0422        371.5763        364.0950        442.9857        
 01-JUL-2024     212305.0       336.8311        390.4166        334.7315        349.2879        339.0654        365.4244        358.1319        436.5724        
 01-AUG-2024     212241.7       330.1288        382.9009        328.5627        343.0389        333.0261        359.2823        352.1263        430.0231        
 01-SEP-2024     212178.9       323.6319        375.5858        322.5305        336.8866        327.1149        353.2987        346.2789        423.5484        
 01-OCT-2024     212118.5       317.5024        368.7001        316.8279        331.0237        321.5117        347.6066        340.7570        417.3516        
 01-NOV-2024     212056.6       311.2931        361.7720        311.0582        325.0747        315.8384        341.8568        335.1705        411.0209        
 01-DEC-2024     211997.2       305.4827        355.2180        305.6007        319.4813        310.4489        336.3815        329.8847        404.9657        

답변1

perl -alF\\n -00ne '
   push @{ $A[$_] }, $F[$_] for 0 .. $#F; END{
   print join "\t", @$_ for @A;}
' yourfile.txt

  • 펄 옵션

    -a읽어온 각 레코드에 대해 옵션에 지정된 필드 구분 기호에 따라 레코드를 자동으로 분할 -F하고 해당 필드를 배열에 저장합니다 @F.

    -l세트ORS = RS = "\n"

    -F\\n세트FS = "\n"

    -00 설정 RS = "\0"의미 는 이전 설정보다 우선 적용 paragraph-mode됩니다 .RS-l

    -n 루프에서 읽도록 암시적 파일을 설정하고 요청하지 않는 한 인쇄하지 않습니다.

    -ePerl입력 파일의 각 레코드에 지정된 코드를 적용합니다.

  • 피복재

    @A각 레코드에 해당하는 행을 저장하는 곳 list-of-list이라고도 합니다 . LoL따라서 각 레코드의 첫 번째 행은 $A[0]에 저장되고, 각 레코드의 두 번째 행은 $A[1]에 저장됩니다.

    그런 다음 파일에서 모든 레코드를 읽었으면 요소가 LoL적절하게 함께 연결된 배열을 인쇄하기만 하면 됩니다 TAB.

결과

HEADER1  HEADER2  HEADER3  HEADER4
item1    item1    item1    item1
item2    item2    item2    item2

답변2

당신이 원한다고 말하는 것이 당신이 정말로 원하는 것인지 잘 모르겠습니다. 알고 보니 각 블록에는날짜첫 번째 열과 마찬가지로, 귀하의 예에서 이 열의 값은 모든 블록에서 동일합니다. 실제로 원하는 출력이 각 날짜 뒤에 각 블록의 해당 날짜에 대한 날짜가 아닌 모든 행이 오는 경우:

Date           Years …    FWIP
01-Jan-2017      0      217100.9

그런 다음 Perl을 사용하여 데이터를 별도의 파일로 분리하고( \d+\-…\-\d\d\d\dVMS 날짜 형식의 정규식 패턴과 일치하지 않는 일부 행을 볼 때마다 새 파일 생성) 쉘 명령을 사용하십시오.가입하다나머지를 따르세요이 글은 이런 문제를 다루고 있습니다

전문적이지만 매우 일반적인 문제를 해결하는 도구가 이미 있으면 코드를 작성하지 마십시오!

관련 정보