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.txt
two.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")