如何用 __ 替換空格

如何用 __ 替換空格

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

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 

即使空白是製表符,這些也有效:

相關內容