2012-02-08 5 views
0

내가 텍스트 아래와 같이있다 : 2 : 8 : 19270 :분할 선이

HWI-ST150_0129:2:8:19270:131483#0 chr1 735440 819383 HWI-ST150_0129:5:44:4612:112201#0 chr1 735446 819377 HWI-ST150_0129:5:61:12668:134666#0 chr1 735444 819380 

HWI-ST150_0129:2:27:6777:92418#0 chr10 107950655 107951635 HWI-ST150_0129:3:61:5129:81938#0 chr10 107950674 107951702 

...... 

그래서 우리는 각 라인을 볼 수는 HWI-ST150_0129 "와 같은 패턴이 포함 131483 # 0 chr1 735440 819383 " 나는에이를 수 있도록 노력하겠습니다 :

HWI-ST150_0129:2:8:19270:131483#0 chr1 735440 819383 
HWI-ST150_0129:5:44:4612:112201#0 chr1 735446 819377 
HWI-ST150_0129:5:61:12668:134666#0 chr1 735444 819380 
HWI-ST150_0129:2:27:6777:92418#0 chr10 107950655 107951635 
HWI-ST150_0129:3:61:5129:81938#0 chr10 107950674 107951702 

내가 어떻게 할 수 있습니까? bash와 python 모두 괜찮습니다. 개인적으로 bash를 더 좋아합니다. thx

답변

0

어떤 언어 또는 코드로 작업하고 있습니까?

문자열에서 각 HWI의 색인을 찾으십시오. HWI "\ r"바로 전에 삽입하거나 "\ r \ n"기본적으로 retun char와 newline을 삽입합니다.

REGEX도 살펴볼 수 있습니다.

+0

보쉬의 bash 또는 파이썬 작품을 줄 것이다 – user815408

0
당신은 도구 나 언어를 지정하지 않은

...

도구 (윈도우) : 사용 메모장 ++ 및 교체를 위해 다음과 같은 정규식을 사용

검색 :

(HWI-\w+:\d+:\d+:\d+:\d+#\d+ \w+ \d+ \d+) 

을 다음으로 교체 :

\1\n 

언어 (모든 OS) : Perl과 주어진 정규식을 사용하십시오. 바꾸기 정규식은 다음과 같아야합니다

$1\n 
0

이 나에게 정확한 결과를 당신에게

<?php 
    $text ="HWI-ST150_0129:2:8:19270:131483#0 chr1 735440 819383 HWI-ST150_0129:5:44:4612:112201#0 chr1 735446 819377 HWI-ST150_0129:5:61:12668:134666#0 chr1 735444 819380 HWI-ST150_0129:2:27:6777:92418#0 chr10 107950655 107951635 HWI-ST150_0129:3:61:5129:81938#0 chr10 107950674 107951702"; 
    $arrHw = explode('HWI',$text); 

    for($i=1;$i<count($arrHw);$i++): 
     echo "HWI".$arrHw[$i]."<br/>"; 
    endfor; 
    ?>