편집해야하는 큰 분류 파일이 있습니다. "Candida"가 Candida 및 [Candida] 모두로 나열되어 파일에 문제가 있습니다 . 내가 원하는 것은 파일 내에서 [Candida]의 모든 경우를 Candida로 변경하는 것입니다.
나는 이것을 여러 가지 방법으로 시도했지만 내가 원하는 결과를 얻지 못했습니다. 다음은 분류 파일의 처음 몇 줄입니다.
Penicillium;marneffei;NW_002197112.1
Penicillium;marneffei;NW_002197111.1
Penicillium;marneffei;NW_002197110.1
Penicillium;marneffei;NW_002197109.1
Penicillium;marneffei;NW_002197108.1
sed를 사용하면 다음과 같은 결과를 얻을 수 있습니다.
$ sed -i -e 's/[Candida]/Candida/g' Full_HMS_Taxonomy.txt
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197112.1
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197111.1
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197110.1
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197109.1
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197108.1
awk를 사용하면 다음과 같은 결과를 얻을 수 있습니다.
$ awk '{gsub(/[Candida]/,"Candida")}1' Full_HMS_Taxonomy.txt
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197112.1
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197111.1
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197110.1
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197109.1
PeCandidaCandidacCandidallCandidaum;mCandidarCandidaeffeCandida;NW_002197108.1
두 경우 모두 [Candida]의 각 인스턴스를 바꾸는 대신 Candida를 여러 위치와 여러 줄에 추가합니다. 내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?
[]는 정규 표현식의 특수 문자이므로 다음과 같이 이스케이프해야합니다.
's/\[Candida\]/Candida/g'
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다