使用 sed 搜索多个文件

问题描述 投票:0回答:1

我有一个Windows文件夹,里面有多个文件,每个文件都标有56g_flux_data39(1)1992、56g_flux_data39(2)1992、56g_flux_data39(3)1992等。

这些文件没有.txt扩展名,但它们是ASCII文本。

我想搜索每个文件,复制两点之间的一列数字,并将这些数字附加到自己的文本文件中,放在一个单独的标有 "输出 "的文件夹中。

输入文件看起来像这样。

    union       Ehigh        Elow   old_group   new_group    flux_wts
           0      2e+007      1e+007           0           0           1
           1      1e+007   6.43e+006           1           0       0.714
           2   6.43e+006      5e+006           1           1       0.286
           3      5e+006    4.3e+006           2           1    0.233333
           4    4.3e+006      3e+006           2           2    0.433333
           5      3e+006      2e+006           2           3    0.333333
           6      2e+006   1.85e+006           3           3        0.15
           7   1.85e+006    1.5e+006           3           4        0.35
           8    1.5e+006    1.2e+006           3           5         0.3
           9    1.2e+006      1e+006           3           6         0.2
          10      1e+006      861000           4           6    0.154444
          11      861000      750000           4           7    0.123333
          12      750000      600000           4           8    0.166667
          13      600000      470000           4           9    0.144444
          14      470000      330000           4          10    0.155556
          15      330000      270000           4          11   0.0666667
          16      270000      200000           4          12   0.0777778
          17      200000      100000           4          13    0.111111
          18      100000       50000           5          13    0.555556
          19       50000       20000           5          14    0.333333
          20       20000       17000           5          15   0.0333333
          21       17000       10000           5          16   0.0777778
          22       10000        3740           6          16    0.695556
          23        3740        2250           6          17    0.165556
          24        2250        1000           6          18    0.138889
          25        1000         192           7          18    0.897778
          26         192         188           7          19  0.00444444
          27         188         118           7          20   0.0777778
          28         118         116           7          21  0.00222222
          29         116         105           7          22   0.0122222
          30         105         101           7          23  0.00444444
          31         101         100           7          24  0.00111111
          32         100        67.5           8          24    0.361111
          33        67.5          65           8          25   0.0277778
          34          65        37.1           8          26        0.31
          35        37.1          36           8          27   0.0122222
          36          36        21.8           8          28    0.157778
          37        21.8        21.2           8          29  0.00666667
          38        21.2        20.5           8          30  0.00777778
          39        20.5          10           8          31    0.116667
          40          10           7           9          31    0.333333
          41           7        6.88           9          32   0.0133333
          42        6.88         6.5           9          33   0.0422222
          43         6.5        6.25           9          34   0.0277778
          44        6.25           5           9          35    0.138889
          45           5        1.13           9          36        0.43
          46        1.13        1.08           9          37  0.00555556
          47        1.08        1.01           9          38  0.00777778
          48        1.01           1           9          39  0.00111111
          49           1       0.625          10          39           1
          50       0.625         0.5          11          40           1
          51         0.5        0.45          12          40         0.5
          52        0.45         0.4          12          41         0.5
          53         0.4       0.375          13          41        0.25
          54       0.375        0.35          13          42        0.25
          55        0.35       0.325          13          43        0.25
          56       0.325         0.3          13          44        0.25
          57         0.3        0.25          14          44         0.5
          58        0.25         0.2          14          45         0.5
          59         0.2        0.15          15          46         0.5
          60        0.15         0.1          15          47         0.5
          61         0.1        0.08          16          48           1
          62        0.08        0.06          17          49           1
          63        0.06        0.05          18          50         0.5
          64        0.05        0.04          18          51         0.5
          65        0.04        0.03          19          52           1
          66        0.03      0.0253          20          52        0.47
          67      0.0253        0.02          20          53        0.53
          68        0.02        0.01          21          53           1
          69        0.01       0.004          22          54    0.612245
          70       0.004      0.0002          22          55    0.387755
          71      0.0002      1e-005          23          55           1

---new--hist---
0 2e+007 1.7221e-005 1.51759e-005 5.53654e-006
0 6.43e+006 1.7221e-005 1.51759e-005 5.53654e-006
1 6.43e+006 8.08454e-005 0.000200928 5.40646e-005
1 4.3e+006 8.08454e-005 0.000200928 5.40646e-005
2 4.3e+006 0.000145154 0.000403202 0.00010127
2 3e+006 0.000145154 0.000403202 0.00010127
3 3e+006 0.000388332 0.00080329 0.000239471
3 1.85e+006 0.000388332 0.00080329 0.000239471
4 1.85e+006 0.000645575 0.00307826 0.000523439
4 1.5e+006 0.000645575 0.00307826 0.000523439
5 1.5e+006 0.00055335 0.00247979 0.00044268
5 1.2e+006 0.00055335 0.00247979 0.00044268
6 1.2e+006 0.000576025 0.00173511 0.000413298
6 861000 0.000576025 0.00173511 0.000413298
7 861000 0.000165402 0.00119838 0.000144079
7 750000 0.000165402 0.00119838 0.000144079
8 750000 0.000223517 0.00100167 0.000178813
8 600000 0.000223517 0.00100167 0.000178813
9 600000 0.000193714 0.000793271 0.000151743
9 470000 0.000193714 0.000793271 0.000151743
10 470000 0.000208616 0.000589909 0.000146475
10 330000 0.000208616 0.000589909 0.000146475
11 330000 8.94067e-005 0.000445539 7.31509e-005
11 270000 8.94067e-005 0.000445539 7.31509e-005
12 270000 0.000104308 0.000347571 7.7265e-005
12 200000 0.000104308 0.000347571 7.7265e-005
13 200000 0.00319101 0.00230183 0.000797753
13 50000 0.00319101 0.00230183 0.000797753
14 50000 0.0018252 0.00199194 0.00073008
14 20000 0.0018252 0.00199194 0.00073008
15 20000 0.00018252 0.00112307 0.000155142
15 17000 0.00018252 0.00112307 0.000155142
16 17000 0.00698177 0.00461108 0.00153599
16 3740 0.00698177 0.00461108 0.00153599
17 3740 0.00156043 0.00307077 0.00093876
17 2250 0.00156043 0.00307077 0.00093876
18 2250 0.0124326 0.00505144 0.00106091
18 192 0.0124326 0.00505144 0.00106091
19 192 5.50667e-005 0.00261557 5.39194e-005
19 188 5.50667e-005 0.00261557 5.39194e-005
20 188 0.000963667 0.00206903 0.000604855
20 118 0.000963667 0.00206903 0.000604855
21 118 2.75333e-005 0.00161066 2.70667e-005
21 116 2.75333e-005 0.00161066 2.70667e-005
22 116 0.000151433 0.00151996 0.000137073
22 105 0.000151433 0.00151996 0.000137073
23 105 5.50667e-005 0.00141779 5.29689e-005
23 101 5.50667e-005 0.00141779 5.29689e-005
24 101 0.00519571 0.0128928 0.00347238
24 67.5 0.00519571 0.0128928 0.00347238
25 67.5 0.000398611 0.0105619 0.000383848
25 65 0.000398611 0.0105619 0.000383848
26 65 0.0044485 0.00793284 0.00253907
26 37.1 0.0044485 0.00793284 0.00253907
27 37.1 0.000175389 0.00582725 0.000170189
27 36 0.000175389 0.00582725 0.000170189
28 36 0.00226411 0.0045137 0.00137105
28 21.8 0.00226411 0.0045137 0.00137105
29 21.8 9.56667e-005 0.00342783 9.30336e-005
29 21.2 9.56667e-005 0.00342783 9.30336e-005
30 21.2 0.000111611 0.0033241 0.000107926
30 20.5 0.000111611 0.0033241 0.000107926
31 20.5 0.00689983 0.00642135 0.00235604
31 7 0.00689983 0.00642135 0.00235604
32 7 0.000209027 0.0120884 0.000205443
32 6.88 0.000209027 0.0120884 0.000205443
33 6.88 0.000661918 0.0116501 0.000625358
33 6.5 0.000661918 0.0116501 0.000625358
34 6.5 0.000435472 0.0111031 0.000418723
34 6.25 0.000435472 0.0111031 0.000418723
35 6.25 0.00217736 0.00975767 0.00174189
35 5 0.00217736 0.00975767 0.00174189
36 5 0.00674111 0.00453269 0.00152349
36 1.13 0.00674111 0.00453269 0.00152349
37 1.13 8.70944e-005 0.00192446 8.32407e-005
37 1.08 8.70944e-005 0.00192446 8.32407e-005
38 1.08 0.000121932 0.00181959 0.000114029
38 1.01 0.000121932 0.00181959 0.000114029
39 1.01 0.0173104 0.0360668 0.0107119
39 0.625 0.0173104 0.0360668 0.0107119
40 0.625 0.0050808 0.0154665 0.00365818
40 0.45 0.0050808 0.0154665 0.00365818
41 0.45 0.00157568 0.00864229 0.00131306
41 0.375 0.00157568 0.00864229 0.00131306
42 0.375 0.000545575 0.0079077 0.000509203
42 0.35 0.000545575 0.0079077 0.000509203
43 0.35 0.000545575 0.00736189 0.000506605
43 0.325 0.000545575 0.00736189 0.000506605
44 0.325 0.00211518 0.00806198 0.00162706
44 0.25 0.00211518 0.00806198 0.00162706
45 0.25 0.0015696 0.00703404 0.00125568
45 0.2 0.0015696 0.00703404 0.00125568
46 0.2 0.00377275 0.0131143 0.00282956
46 0.15 0.00377275 0.0131143 0.00282956
47 0.15 0.00377275 0.00930475 0.00251517
47 0.1 0.00377275 0.00930475 0.00251517
48 0.1 0.091609 0.410538 0.0732872
48 0.08 0.091609 0.410538 0.0732872
49 0.08 0.07575 0.263312 0.0568125
49 0.06 0.07575 0.263312 0.0568125
50 0.06 0.06268 0.343788 0.0522333
50 0.05 0.06268 0.343788 0.0522333
51 0.05 0.06268 0.280895 0.050144
51 0.04 0.06268 0.280895 0.050144
52 0.04 0.251373 0.548759 0.158993
52 0.0253 0.251373 0.548759 0.158993
53 0.0253 0.192807 0.207717 0.0762083
53 0.01 0.192807 0.207717 0.0762083
54 0.01 0.0694347 0.075778 0.0277739
54 0.004 0.0694347 0.075778 0.0277739
55 0.004 0.0965393 0.0161128 0.000241348
55 1e-005 0.0965393 0.0161128 0.000241348
---old--hist---
0 2e+007 1.0516e-005 1.51714e-005 5.258e-006
0 1e+007 1.0516e-005 1.51714e-005 5.258e-006
1 1e+007 9.3907e-006 1.35479e-005 4.69535e-006
1 5e+006 9.3907e-006 1.35479e-005 4.69535e-006
2 5e+006 0.00033497 0.000365572 0.000133988
2 2e+006 0.00033497 0.000365572 0.000133988
3 2e+006 0.0018445 0.00266105 0.00092225
3 1e+006 0.0018445 0.00266105 0.00092225
4 1e+006 0.0013411 0.000582432 0.00013411
4 100000 0.0013411 0.000582432 0.00013411
5 100000 0.0054756 0.00237802 0.00054756
5 10000 0.0054756 0.00237802 0.00054756
6 10000 0.0094254 0.0040934 0.00094254
6 1000 0.0094254 0.0040934 0.00094254
7 1000 0.01239 0.00538091 0.001239
7 100 0.01239 0.00538091 0.001239
8 100 0.01435 0.00623213 0.001435
8 10 0.01435 0.00623213 0.001435
9 10 0.015677 0.00680843 0.0015677
9 1 0.015677 0.00680843 0.0015677
10 1 0.017293 0.0367933 0.0108081
10 0.625 0.017293 0.0367933 0.0108081
11 0.625 0.0040507 0.0181529 0.00324056
11 0.5 0.0040507 0.0181529 0.00324056
12 0.5 0.0020602 0.00923262 0.00164816
12 0.4 0.0020602 0.00923262 0.00164816
13 0.4 0.0021823 0.0075858 0.00163672
13 0.3 0.0021823 0.0075858 0.00163672
14 0.3 0.0031392 0.00774222 0.0020928
14 0.2 0.0031392 0.00774222 0.0020928
15 0.2 0.0075455 0.0108859 0.00377275
15 0.1 0.0075455 0.0108859 0.00377275
16 0.1 0.091609 0.410538 0.0732872
16 0.08 0.091609 0.410538 0.0732872
17 0.08 0.07575 0.263312 0.0568125
17 0.06 0.07575 0.263312 0.0568125
18 0.06 0.12536 0.309176 0.0835733
18 0.04 0.12536 0.309176 0.0835733
19 0.04 0.194 0.674356 0.1455
19 0.03 0.194 0.674356 0.1455
20 0.03 0.12207 0.301062 0.08138
20 0.02 0.12207 0.301062 0.08138
21 0.02 0.12811 0.184824 0.064055
21 0.01 0.12811 0.184824 0.064055
22 0.01 0.11341 0.0289901 0.0022682
22 0.0002 0.11341 0.0289901 0.0022682
23 0.0002 0.052564 0.0175463 0.0026282
23 1e-005 0.052564 0.0175463 0.0026282
---new---
0 2e+007 1.7221e-005
1 6.43e+006 8.08454e-005
2 4.3e+006 0.000145154
3 3e+006 0.000388332
4 1.85e+006 0.000645575
5 1.5e+006 0.00055335
6 1.2e+006 0.000576025
7 861000 0.000165402
8 750000 0.000223517
9 600000 0.000193714
10 470000 0.000208616
11 330000 8.94067e-005
12 270000 0.000104308
13 200000 0.00319101
14 50000 0.0018252
15 20000 0.00018252
16 17000 0.00698177
17 3740 0.00156043
18 2250 0.0124326
19 192 5.50667e-005
20 188 0.000963667
21 118 2.75333e-005
22 116 0.000151433
23 105 5.50667e-005
24 101 0.00519571
25 67.5 0.000398611
26 65 0.0044485
27 37.1 0.000175389
28 36 0.00226411
29 21.8 9.56667e-005
30 21.2 0.000111611
31 20.5 0.00689983
32 7 0.000209027
33 6.88 0.000661918
34 6.5 0.000435472
35 6.25 0.00217736
36 5 0.00674111
37 1.13 8.70944e-005
38 1.08 0.000121932
39 1.01 0.0173104
40 0.625 0.0050808
41 0.45 0.00157568
42 0.375 0.000545575
43 0.35 0.000545575
44 0.325 0.00211518
45 0.25 0.0015696
46 0.2 0.00377275
47 0.15 0.00377275
48 0.1 0.091609
49 0.08 0.07575
50 0.06 0.06268
51 0.05 0.06268
52 0.04 0.251373
53 0.0253 0.192807
54 0.01 0.0694347
55 0.004 0.0965393
---old---
0 2e+007 1.0516e-005
1 1e+007 9.3907e-006
2 5e+006 0.00033497
3 2e+006 0.0018445
4 1e+006 0.0013411
5 100000 0.0054756
6 10000 0.0094254
7 1000 0.01239
8 100 0.01435
9 10 0.015677
10 1 0.017293
11 0.625 0.0040507
12 0.5 0.0020602
13 0.4 0.0021823
14 0.3 0.0031392
15 0.2 0.0075455
16 0.1 0.091609
17 0.08 0.07575
18 0.06 0.12536
19 0.04 0.194
20 0.03 0.12207
21 0.02 0.12811
22 0.01 0.11341
23 0.0002 0.052564

我想提取每个文件中---新的---和---旧的---之间的数字 然后通过awk管道得到第三列数字,特别是。

gawk '{ print $3 }' >> output

但是sed似乎只检查第一个文件56g_flux_data39(1)1992,仅此而已。

有没有可能给sed一个通配符(例如56g_flux_data*),让它通过整个批次的文件,并将每个输出结果打印到单独文件夹中的自己的输出文件?

awk sed wildcard
1个回答
0
投票

/---old---/q 书信 q 是 "退出 "的命令--它退出脚本。只需删除这部分。


0
投票

我认为结构是 { /---old---/q;p } 是用来清除 ---old--- 的输出。这可以通过 awk:

for f in 56g_flux_data*; do
   sed -n '/---new---/,/---old---/p' "$f" | gawk '!/---old---/ { print $3 }' >> output/"$f"
done

你有没有考虑过 awk 为一切?

gawk '/---new---/ { printer=1; }'
      /---old---/ { printer=0; }
      printer { print $3 > "output/" FILENAME }
    ' 56g_flux_data* 
© www.soinside.com 2019 - 2024. All rights reserved.