여러 파일에서 테이블을 인쇄하는 방법 [닫기]

여러 파일에서 테이블을 인쇄하는 방법 [닫기]

폴더에 많은 파일이 있고 인쇄하고 싶다고 가정합니다.센터 번호(테이블에 55행이 나타날 때까지 가운데 번호가 매겨진 행 제외) 이러한 여러 파일의 다음 텍스트 블록 또는 테이블입니다.

센터 번호다른 파일에서는 55보다 크거나 작을 수 있습니다. 기본적으로 중앙 번호 1부터 55까지 행을 인쇄하고 싶습니다.

확실하지 않은 경우 알려주십시오.

폴더의 여러 파일에서 테이블을 가져오는 방법을 도와주실 수 있나요?

Standard orientation:                         
 ---------------------------------------------------------------------
 Center     Atomic      Atomic             Coordinates (Angstroms)
 Number     Number       Type             X           Y           Z
 ---------------------------------------------------------------------
      1          6           0       -1.215837    3.069318   -0.012683
      2          6           0        0.000000    3.745098   -0.004581
      3          6           0        1.215836    3.069317   -0.012691
      4          1           0        0.000000    4.830496   -0.014896
      5          6           0        2.560967    1.294763   -0.051815
      6          6           0        2.553538    3.571032   -0.074149
      7          6           0        3.377990    2.462531   -0.100004
      8          1           0        4.457741    2.469234   -0.167815
      9          5           0       -0.000001    0.772241    0.246764
     10          9           0       -0.000006   -0.297150   -0.651382
     11          9           0        0.000002    0.314025    1.553890
     12          7           0        1.257033    1.680283   -0.003563
     13          7           0       -1.257035    1.680284   -0.003556
     14          6           0       -2.560970    1.294765   -0.051802
     15          6           0       -3.377991    2.462533   -0.100003
     16          6           0       -2.553540    3.571034   -0.074123
     17          1           0       -4.457741    2.469236   -0.167825
     18          6           0        2.954901    5.014409   -0.124724
     19          1           0        2.567267    5.512958   -1.022276
     20          1           0        2.579039    5.570960    0.742911
     21          1           0        4.044288    5.113616   -0.135637
     22          6           0       -2.954903    5.014412   -0.124680
     23          1           0       -2.579044    5.570952    0.742963
     24          1           0       -2.567265    5.512971   -1.022225
     25          1           0       -4.044290    5.113619   -0.135596
     26          6           0       -2.954407   -0.091281   -0.068456
     27          6           0       -4.239390   -0.514493    0.004248
     28          1           0       -2.143544   -0.805389   -0.154218
     29          1           0       -5.028393    0.231421    0.091938
     30          6           0        2.954406   -0.091282   -0.068458
     31          6           0        4.239389   -0.514491    0.004242
     32          1           0        2.143544   -0.805392   -0.154206
     33          1           0        5.028392    0.231425    0.091913
     34          6           0       -4.709129   -1.896616   -0.017045
     35          6           0       -6.094342   -2.142706    0.054640
     36          6           0       -3.844921   -3.007822   -0.105300
     37          6           0       -6.600001   -3.440248    0.037225
     38          1           0       -6.776966   -1.298722    0.124539
     39          6           0       -4.350526   -4.302792   -0.122289
     40          1           0       -2.771378   -2.855372   -0.158161
     41          6           0       -5.729597   -4.527650   -0.051717
     42          1           0       -7.673133   -3.602373    0.093453
     43          1           0       -3.666214   -5.144353   -0.190030
     44          1           0       -6.119334   -5.541811   -0.064992
     45          6           0        4.709130   -1.896613   -0.017036
     46          6           0        6.094345   -2.142700    0.054612
     47          6           0        3.844922   -3.007823   -0.105246
     48          6           0        6.600006   -3.440242    0.037205
     49          1           0        6.776971   -1.298713    0.124475
     50          6           0        4.350528   -4.302792   -0.122227
     51          1           0        2.771376   -2.855375   -0.158076
     52          6           0        5.729602   -4.527646   -0.051692
     53          1           0        7.673140   -3.602364    0.093405
     54          1           0        3.666216   -5.144355   -0.189932
     55          1           0        6.119340   -5.541808   -0.064961
 ---------------------------------------------------------------------

친절한 답변 감사드리며, 지연된 점 사과드립니다. 내가 충분히 명확하게 밝히지 않았을 수도 있습니다.

아래에 테이블을 grep/인쇄하려는 잘린 내용(File1 및 File2)을 제공했습니다. 이 디렉토리에는 그러한 파일이 수백 개 있습니다. 테이블의 마지막 행까지 "Standard Orientation" 문자열 아래에 테이블을 인쇄하고 싶습니다. 당신의 도움을 주셔서 감사합니다. 확실하지 않은 경우 알려주십시오.

입력 파일 1

 Largest Abelian subgroup         C1      NOp   1
 Largest concise Abelian subgroup C1      NOp   1
                         Standard orientation:                         
 ---------------------------------------------------------------------
 Center     Atomic      Atomic             Coordinates (Angstroms)
 Number     Number       Type             X           Y           Z
 ---------------------------------------------------------------------
      1          6           0       -1.216586    3.100980    0.000455
      2          6           0        0.000001    3.773566    0.000597
      3          6           0        1.216588    3.100980    0.000455
      4          1           0        0.000001    4.859634    0.000803
      5          6           0        2.545495    1.320077    0.000192
      6          6           0        2.555481    3.591962    0.000448
      7          6           0        3.373040    2.468224    0.000313
      8          1           0        4.455638    2.453296    0.000315
      9          5           0        0.000001    0.764927    0.000563
     10          9           0       -0.000002   -0.025840   -1.144052
     11          9           0        0.000004   -0.025210    1.145650
     12          7           0        1.253950    1.705003    0.000299
     13          7           0       -1.253948    1.705003    0.000304
     14          6           0       -2.545494    1.320077    0.000203
     15          6           0       -3.373038    2.468224    0.000323
     16          6           0       -2.555479    3.591962    0.000449
     17          1           0       -4.455636    2.453297    0.000331
     18          6           0        2.975497    5.031002    0.000174
     19          1           0        2.605223    5.563377   -0.885146
     20          1           0        2.598139    5.565869    0.880953
     21          1           0        4.066160    5.115561    0.004377
     22          6           0       -2.975495    5.031002    0.000141
     23          1           0       -2.597868    5.565972    0.880740
     24          1           0       -2.605491    5.563274   -0.885356
     25          1           0       -4.066157    5.115563    0.004663
     26          6           0       -3.042055   -0.137670   -0.000010
     27          6           0       -4.329115   -0.456310   -0.000102
     28          1           0       -2.243779   -0.891949   -0.000057
     29          1           0       -5.127391    0.297969   -0.000059
     30          6           0        3.042055   -0.137671   -0.000027
     31          6           0        4.329114   -0.456312   -0.000125
     32          1           0        2.243778   -0.891949   -0.000118
     33          1           0        5.127391    0.297967   -0.000031
     34          6           0       -4.825676   -1.914057   -0.000287
     35          6           0       -6.193953   -2.184917   -0.000378
     36          6           0       -3.906762   -2.963823   -0.000907
     37          6           0       -6.643592   -3.505635   -0.000774
     38          1           0       -6.918278   -1.357574   -0.000224
     39          6           0       -4.356219   -4.284249   -0.000825
     40          1           0       -2.827996   -2.749959   -0.001252
     41          6           0       -5.725089   -4.555194   -0.000398
     42          1           0       -7.722380   -3.718843   -0.000068
     43          1           0       -3.632201   -5.111953   -0.000588
     44          1           0       -6.079423   -5.596224   -0.000077
     45          6           0        4.825674   -1.914059   -0.000371
     46          6           0        6.193952   -2.184919   -0.000464
     47          6           0        3.906760   -2.963824    0.000042
     48          6           0        6.643589   -3.505638   -0.000459
     49          1           0        6.918277   -1.357577   -0.000455
     50          6           0        4.356216   -4.284250   -0.000432
     51          1           0        2.827994   -2.749960    0.000531
     52          6           0        5.725086   -4.555196   -0.001042
     53          1           0        7.722377   -3.718846   -0.001310
     54          1           0        3.632197   -5.111954   -0.000832
     55          1           0        6.079420   -5.596226   -0.001671
 ---------------------------------------------------------------------
 Rotational constants (GHZ):           0.1374145           0.0808973           0.0514693
 Leave Link  202 at Sat Jan 11 09:07:38 2020, MaxMem=   536870912 cpu:               0.2 elap:               0.0

입력 파일 2

Largest Abelian subgroup         C1      NOp   1
 Largest concise Abelian subgroup C1      NOp   1
                         Standard orientation:                         
 ---------------------------------------------------------------------
 Center     Atomic      Atomic             Coordinates (Angstroms)
 Number     Number       Type             X           Y           Z
 ---------------------------------------------------------------------
      1          6           0       -1.217328    3.807808   -0.035244
      2          6           0       -0.001626    4.483869   -0.038956
      3          6           0        1.214343    3.808279   -0.038119
      4          1           0       -0.001868    5.568980   -0.065942
      5          6           0        2.559803    2.033594   -0.051567
      6          6           0        2.551865    4.309250   -0.108853
      7          6           0        3.376521    3.200643   -0.118650
      8          1           0        4.456191    3.206513   -0.187829
      9          5           0       -0.000701    1.515223    0.258023
     10          9           0       -0.001535    0.432163   -0.623591
     11          9           0        0.000936    1.077139    1.572032
     12          7           0        1.255845    2.419557   -0.007705
     13          7           0       -1.258221    2.419071   -0.004733
     14          6           0       -2.562130    2.032603   -0.045515
     15          6           0       -3.379455    3.199335   -0.110684
     16          6           0       -2.555209    4.308262   -0.102805
     17          1           0       -4.459285    3.204786   -0.177327
     18          6           0        2.952863    5.751758   -0.182066
     19          1           0        2.564068    6.236386   -1.086712
     20          1           0        2.577903    6.321497    0.677361
     21          1           0        4.042215    5.850997   -0.195786
     22          6           0       -2.956937    5.750615   -0.175054
     23          1           0       -2.580176    6.320490    0.683495
     24          1           0       -2.570460    6.235404   -1.080607
     25          1           0       -4.046357    5.849432   -0.186208
     26          6           0       -2.955292    0.646389   -0.040413
     27          6           0       -4.240099    0.224094    0.040298
     28          1           0       -2.144380   -0.068795   -0.116152
     29          1           0       -5.029157    0.971114    0.117451
     30          6           0        2.953516    0.647533   -0.047382
     31          6           0        4.238674    0.225740    0.030295
     32          1           0        2.142705   -0.067967   -0.121195
     33          1           0        5.027621    0.973068    0.105568
     34          6           0       -4.709570   -1.158284    0.040791
     35          6           0       -6.094646   -1.403512    0.117881
     36          6           0       -3.845231   -2.270547   -0.031404
     37          6           0       -6.600050   -2.701267    0.120995
     38          1           0       -6.777366   -0.558687    0.175613
     39          6           0       -4.350581   -3.565723   -0.027904
     40          1           0       -2.771783   -2.118719   -0.087866
     41          6           0       -5.729520   -3.789738    0.047739
     42          1           0       -7.673080   -2.862717    0.180971
     43          1           0       -3.666171   -4.408093   -0.083517
     44          6           0        4.708682   -1.156454    0.029695
     45          6           0        6.094033   -1.401143    0.103481
     46          6           0        3.844607   -2.269056   -0.040417
     47          6           0        6.599948   -2.698702    0.105411
     48          1           0        6.776561   -0.556050    0.159568
     49          6           0        4.350467   -3.564035   -0.038101
     50          1           0        2.770967   -2.117646   -0.094317
     51          6           0        5.729671   -3.787511    0.034253
     52          1           0        7.673182   -2.859733    0.162829
     53          1           0        3.666254   -4.406671   -0.092065
     54          8           0       -6.243296   -5.124253    0.049984
     55          8           0        6.243970   -5.121826    0.035293
     56          6           0       -7.624282   -5.104707   -0.320687
     57          1           0       -7.967776   -6.107046   -0.469779
     58          1           0       -8.195969   -4.643809    0.457546
     59          1           0       -7.742425   -4.548641   -1.227182
     60          6           0        7.642659   -5.094520   -0.261059
     61          1           0        8.169083   -4.628290    0.545419
     62          1           0        7.999744   -6.095036   -0.388951
     63          1           0        7.805719   -4.539801   -1.161391
 ---------------------------------------------------------------------
 Rotational constants (GHZ):           0.0924797           0.0555654           0.0350317
 Leave Link  202 at Sat Jan 11 16:58:46 2020, MaxMem=   536870912 cpu:               0.2 elap:               0.1

답변1

awk나는 해결책을 생각해 냈습니다.

awk '$1~/^[[:digit:]]+$/ && $1>=1 && $1<=55' *.txt

.txt그러면 (또는 귀하의 경우 실제 파일 이름)로 끝나는 모든 파일을 처리하고 각 줄의 첫 번째 열을 확인합니다. 첫 번째 열인 경우 행을 인쇄합니다.

  • 는 정수이고,
  • 값은 1에서 55(포함) 사이입니다.

이렇게 하면 처리가 실제 "파일 본문"으로 제한되고 "헤더"는 무시됩니다.

첫 번째 열에 대한 "온전성 검사"는 음수가 아닌 정수만 허용한다는 점에서 매우 엄격하며 이는 예제 파일 내용의 경우인 것 같습니다. 이 설정을 완화하여 숫자 값을 허용하려면(유일한 제한은 원하는 범위에 속한다는 것입니다) 다음을 변경할 수 있습니다.

$1~/^[[:digit:]]$/

도착하다

$1+0==$1

@αГsнιι가 댓글에서 지적했듯이.

답변2

디렉토리에 CD를 넣으면 다음은 디렉토리에 있는 각 파일의 처음 55줄을 출력해야 합니다. 이는 차례로 파일 등으로 정렬/전송될 수 있습니다. 이를 수행하는 더 좋은 방법이 있지만 이것이 효과가 있습니다.

ls -al | awk '{print $9 }' | while read line; do cat $line | head -55 ; done

명령이 아무것도 출력하지 않으면 "awk" 명령의 열을 운영 체제에 적합한 열로 변경해야 할 수도 있습니다.

관련 정보