공백을 __로 바꾸는 방법

공백을 __로 바꾸는 방법

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

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é의 답변에 추가하면공백이 2개 이상인 경우:

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

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

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

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

관련 정보