__로 공간을 바꾸는 방법

__로 공간을 바꾸는 방법

예를 들어 다음과 같은 공간이 포함된 파일이 있습니다.

ACTTTTTTTTGSGSGSGSG  TTT
RTATATTATRSSTSTSTST  HHH

공간을 제거하고 결과를 얻고 싶습니다.

ACTTTTTTTTGSGSGSGSG__TTT
RTATATTATRSSTSTSTST__HHH

답변1

sed를 사용하면 각 공백을 밑줄( )로 바꾸는 것이 목적이라고 가정하고 행 _의 모든 ​​공백에 대해

sed 's/ /_/g' file

테스트

$ cat file
ACTTTTTTTTGSGSGSGSG  TTT
RTATATTATRSSTSTSTST  HHH

$ sed 's/ /_/g' file
ACTTTTTTTTGSGSGSGSG__TTT
RTATATTATRSSTSTSTST__HHH

답변2

@Paulo Tomé의 답변에 추가하면공백 두 개 이상:

tr -s '[[:blank:]]' < file | sed 's/[[:blank:]]/__/'

항상 두 개의 공백이라고 가정합니다.

tr '[[:blank:]]' '_' < file 

공백이 탭인 경우에도 작동합니다.

관련 정보