2016-11-02 5 views
0

나는 파일이큰 파일에서 특정 텍스트를 제거

@SL2.50Ch00 
NNNNnnnnNNNNNNNNNNNNNNNNNNNNNNNNAAATAAATAATAATAATAATAATAATAA 
@SL2.50Ch01 

처럼 + 다음까지에서 기본적으로 모든 것을보고 싶지이

@SL2.50Ch00 
NNNNnnnnNNNNNNNNNNNNNNNNNNNNNNNNAAATAAATAATAATAATAATAATAATAA 

+ 

fcii[cccff8cffiffcfffffiiiiiiiiiffNflllQllrrruru_uuruuur{~~Z 

@SL2.50Ch01 

처럼 보이는 엉망 파일이 header @ SL2.5Ch01을 삭제해야합니다. 나는 +를 삭제해야하지만, @ SL2.5Ch01을 유지해야합니다. 글자의 수는 시야를 위해 여기에 줄였습니다. 실제로 + 기호 앞에 실제로 수천 글자가 있기 때문입니다.

나는 그것을 찾기 위해 grep을 사용하려고 시도했다. 그런 다음 아무것도 찾으려하지 않았다.

는 시도 :

grep '\n\+' 

grep -E '^M\+' 

작동하지 않는 백 슬래시로 플러스를 탈출하려고합니다.

sed 또한 전체 파일을 스캔하도록 요청합니까? awk 괜찮

답변

0

경우,이 시도 :

awk -vp=1 '/^[+]/{p=0} !p && /^@SL2.50/{p=1}p' file 

테스트 :

$ awk -vp=1 '/^[+]/{p=0} !p && /^@SL2.50/{p=1}p' file 
@SL2.50Ch00 
NNNNnnnnNNNNNNNNNNNNNNNNNNNNNNNNAAATAAATAATAATAATAATAATAATAA 

@SL2.50Ch01 
+0

프로 라이언트-DL580-Gen8 : ~/바탕 화면/Z $ AWK -vp = 1 '/^+/{p = 0}! p && /^@SL2.50/{p=1}p 'KA.fq awk : 줄 1 : 정규식 컴파일에 실패했습니다 (구문 오류^* 또는^+) ^ + – Seigfried

+0

@Seigfried, 이것을 사용하십시오 : awk -vp = 1/^ [+]/{p = 0}! p && /^@SL2.50/{p=1}p 'file' – sat

+0

awk -vp = 1 '/^\ +/{p = 0}! p && /^/SL2.50/{p=1}p'KA.fq 방금 플러스를 빠져 나왔습니다. 감사! – Seigfried

관련 문제