テキストファイルから列を抽出して別のテキストファイルに保存する方法は?

テキストファイルから列を抽出して別のテキストファイルに保存する方法は?

source.txt次のデータを含むファイルがあるとします。

3LWXA       199  XRAY        1.100    0.12    0.14
3LX3A       180  XRAY        1.550    0.15    0.17
3LY0A       364  XRAY        1.399    0.17    0.19
3LYDA       161  XRAY        1.450    0.17    0.19
3LYEA       307  XRAY        1.300    0.13    0.17
3LYHB       126  XRAY        1.600    0.17    0.21
3LYPA       215  XRAY        1.600    0.18    0.21
3M07A       618  XRAY        1.400    0.15    0.17
3M0FA       213  XRAY        1.600    0.21    0.22

ここから{1st}列と{1st、2nd}列を抽出してsource.txt保存します。one.txttwo.txt

どうすればいいですか?


気づく私が見つけたこのスレッドしかし、これは役に立ちません。

答え1

また試み

awk '{print $1 > "one.txt"; print $1,$2 > "two.txt"}' source.txt

答え2

使用awk

awk '{ print $1 }' source.txt > one.txt
awk '{ print $1,  $2 }' source.txt > two.txt

答え3

GNU sed拡張正規表現機能を有効にすると(-E)、次のことができます。

sed -En 's/\S+/&\n/2
  s/\n.*//wfile2
  s/\s.*//wfile1
' file

答え4

#!/usr/bin/python
import re
res=re.compile(r'\s+')
fil=open('source.txt','r')
firs=open('one.txt','w')
sec=open('two.txt','w')
for f in fil:
    splitcomp=re.sub(res," ",f).strip().split(' ')
    firs.write(splitcomp[0].strip() + "\n")
    seondfilecon="{0}\t{1}".format(splitcomp[0],splitcomp[1])
    sec.write(seondfilecon.strip()+"\n")

関連情報