GNU sed를 사용하여 문자열 사이에 밑줄 추가

GNU sed를 사용하여 문자열 사이에 밑줄 추가

GNU sed여기 초보자...

다음 형식의 헤더가 포함된 FASTA 파일(50K)이 여러 개 있습니다.

CYTC2889-12|Homo sapiens

나는 밑줄을 추가하여

CYTC2889-12|Homo_sapiens

그리고 그 결과를 파일에 씁니다.

저는 macOS에서 실행 중입니다.

나는 노력했다

 sed -i.bak 's/\s/_/g' file.fas

하지만 이것은

>CYTC2889-12|Homo _apien_

비슷하지만 정확하지 않습니다.

어떤 아이디어가 있나요?

답변1

다음을 시도해 보세요.

sed -i'.bak' 's/[[:space:]]/_/g' file.fas

Linux를 사용하고 있어서 GNU sed작동 sed -i 's/\s/_/g'하지만 명령을 사용하면 sed --posix -i 's/\s/_/g'작동하지 않습니다.

따라서 Linux에서 posix를 사용하려면 다음을 사용해야 합니다.

sed --posix -i'.bak' 's/[[:space:]]/_/g'  file.fas

관련 정보