-1
votes

Supprimer la dernière colonne du texte (fichier PDB tenant sa mise en forme d'origine

fichier de colonne séparé par les espaces Rubrique NPXYNWT_APO_300K_0001_AMBER

ATOM      1  N   MET     1      22.849   2.086  17.904  1.00  0.00  
ATOM      2  CA  MET     1      21.710   2.631  17.411  1.00  0.00 
ATOM      3  C   MET     1      20.525   1.737  17.578  1.00  0.00 
ATOM      4  O   MET     1      20.530   0.650  17.113  1.00  0.00  
ATOM      5  CB  MET     1      21.878   2.974  15.929  1.00  0.00  
ATOM      6  CG  MET     1      20.710   3.743  15.334  1.00  0.00
ATOM      7  SD  MET     1      20.954   4.142  13.593  1.00  0.00  
ATOM      8  CE  MET     1      22.272   5.350  13.704  1.00  0.00  
ATOM      9  HA  MET     1      21.472   3.545  17.955  1.00  0.00 
ATOM     10  HB2 MET     1      22.788   3.567  15.838  1.00  0.00
ATOM     11  HB3 MET     1      22.004   2.033  15.394  1.00  0.00  
ATOM     12  HG2 MET     1      19.813   3.133  15.439  1.00  0.00
ATOM     13  HG3 MET     1      20.589   4.667  15.900  1.00  0.00
ATOM     14  HE1 MET     1      23.144   4.895  14.173  1.00  0.00
ATOM     15  HE2 MET     1      22.536   5.694  12.704  1.00  0.00  
ATOM     16  HE3 MET     1      21.939   6.198  14.303  1.00  0.00 
ATOM     17  H1  MET     1      22.632   1.159  18.243  1.00  0.00  
ATOM     18  H2  MET     1      23.105   2.667  18.689  1.00  0.00  
ATOM     19  H3  MET     1      23.471   2.005  17.112  1.00  0.00

sed

1 commentaires

Même maintenant, je ne suis pas sûr que si les principaux espaces sont intentionnellement signifiés ou mal utilisés;), le laissera à l'OP


3 Réponses :


1
votes
sed 's/ *[^ ]*\r$//' file

1 commentaires

C'est un fichier séparé de l'espace tel qu'il a été indiqué dans mon premier poste afin que j'ai besoin d'une solution qui fonctionnerait pour n'importe quel nombre d'espaces dans la dernière colonne!



1
votes

Ceci fonctionne pour GNU SED:

 sed -r 's/\s+\S+$//' file


0 commentaires

1
votes

Si les données dans d code> fichier, essayé sur GNU SED:

awk -F' *' '{l=gensub(/(.*)\s\S+\s*$/,"\\1",1);print l}' d


0 commentaires