ファイルから特定のスペースをコピーする

ファイルから特定のスペースをコピーする

次のファイルがあります

   18DMA      H 9996   0.886   5.687   5.320
   18DMA      H 9997   1.019   5.764   5.247
   18DMA     Np 9998   0.947   5.584   5.151
   18DMA      H 9999   1.033   5.541   5.113
   18DMA     Cn10000   0.880   5.674   5.050
   18DMA      H10001   0.831   5.616   4.971
   18DMA      H10002   0.814   5.751   5.091
   18DMA      H10003   0.957   5.735   5.003
   18DMA     Cn10004   0.837   5.486   5.185

必要な出力は3番目の列を削除することですが、特定の行/行から始まり、次の原子の名前と番号の間にスペースがないため、列ごとに削除することはできません。特定の数の文字を選択して削除する方法はありますか?予想される出力は次のようになります。

   18DMA      H    0.886   5.687   5.320
   18DMA      H    1.019   5.764   5.247
   18DMA     Np    0.947   5.584   5.151
   18DMA      H    1.033   5.541   5.113
   18DMA     Cn    0.880   5.674   5.050
   18DMA      H    0.831   5.616   4.971
   18DMA      H    0.814   5.751   5.091
   18DMA      H    0.957   5.735   5.003
   18DMA     Cn    0.837   5.486   5.185

ベストアンサー1

cut文字モードで使用:

cut -c1-15,21-

正確な文字数を調整する必要があるかもしれません。繰り返しますが、これは入力がタブ(\t文字)を区切り文字として使用しないと仮定します(おそらくそうではありません。最初にフィールドをリンクするのに問題はありません)。

タブ文字がある場合、expandプログラムはそれを空白に変換できます。

おすすめ記事