如何用 __ 替换空格

如何用 __ 替换空格

我有一个包含空格的文件,例如如下所示:

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 

即使空白是制表符,这些也有效:

相关内容