簡體   English   中英

Bash腳本刪除特定部分

[英]Bash scripting to remove specific portion

我想編寫一個腳本,將分數坐標系轉換為笛卡爾坐標系。

在這里,在輸入文件中,我有一些不必要的部分要刪除。 要刪除上部不必要的部分,我只是使用sed -i '1,7 s/.*//g' geometry.xyz (始終不需要前7行)。 但是我的問題是我需要的部分可能會更改大小。 看起來像這樣:

%BLOCK LATTICE_CART
      10.000000000000000       0.000000000000000       0.000000000000000
       0.000000000000000      10.000000000000000       0.000000000000000
       0.000000000000000       0.000000000000000      10.000000000000000
%ENDBLOCK LATTICE_CART

%BLOCK POSITIONS_FRAC
  H   0.3242730364399766  -0.5778932059463918   0.4725289033063597
  H   0.3242730880505244  -0.4462573476378897   0.3408930320952251
  H   0.5269396206127043  -0.6403171603506288   0.3779836353112689
  H   0.4391824086567526  -0.6285598118052995   0.5417408894621464
  H   0.6929877354648144  -0.5297761432888469   0.4524840992286400
  H   0.6466039123419516  -0.6708589950924689   0.5647345854707825
  H   0.6049230092979219  -0.4959539583844693   0.6129729324712603
  H   0.4279396231283572  -0.3487419832103440   0.5700442724565965
  C   0.3622730487068306  -0.4740752814020994   0.4447109742648412
  C   0.4762730467994820  -0.4740752814020994   0.4447109742648412
  C   0.5142730074557883  -0.5778932235717150   0.4725289080290508
  C   0.6146969322498489  -0.5686205772550322   0.5256801349609578
  O   0.5142730074557883  -0.3980752729966930   0.5207109826702476
%ENDBLOCK POSITIONS_FRAC

%BLOCK KPOINTS_LIST
   0.0000000000000000   0.0000000000000000   0.0000000000000000       1.000000000000000
%ENDBLOCK KPOINTS_LIST

%BLOCK CELL_CONSTRAINTS
       1       2       3
       4       5       6
%ENDBLOCK CELL_CONSTRAINTS

FIX_COM : false
%BLOCK IONIC_CONSTRAINTS
%ENDBLOCK IONIC_CONSTRAINTS 

現在我的系統中可能有更多的氫,氧或碳。 因此,我希望腳本查找%並在此之后刪除所有內容。 可能嗎? 謝謝

awk '/%ENDBLOCK POSITIONS_FRAC/{ exit }; p; /%BLOCK POSITIONS_FRAC/{p = 1};' geometry.xyz

會給

  H   0.3242730364399766  -0.5778932059463918   0.4725289033063597
  H   0.3242730880505244  -0.4462573476378897   0.3408930320952251
  H   0.5269396206127043  -0.6403171603506288   0.3779836353112689
  H   0.4391824086567526  -0.6285598118052995   0.5417408894621464
  H   0.6929877354648144  -0.5297761432888469   0.4524840992286400
  H   0.6466039123419516  -0.6708589950924689   0.5647345854707825
  H   0.6049230092979219  -0.4959539583844693   0.6129729324712603
  H   0.4279396231283572  -0.3487419832103440   0.5700442724565965
  C   0.3622730487068306  -0.4740752814020994   0.4447109742648412
  C   0.4762730467994820  -0.4740752814020994   0.4447109742648412
  C   0.5142730074557883  -0.5778932235717150   0.4725289080290508
  C   0.6146969322498489  -0.5686205772550322   0.5256801349609578
  O   0.5142730074557883  -0.3980752729966930   0.5207109826702476

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM