Linux

如何用__替換空間

  • March 12, 2020

我有一個包含空間的文件,例如:

ACTTTTTTTTGSGSGSGSG  TTT
RTATATTATRSSTSTSTST  HHH

我想消除空間並得到結果:

ACTTTTTTTTGSGSGSGSG__TTT
RTATATTATRSSTSTSTST__HHH

sed,假設目的是用下劃線 ( ) 替換每個空格,_對於行中的所有空格

sed 's/ /_/g' file

測試

$ cat file
ACTTTTTTTTGSGSGSGSG  TTT
RTATATTATRSSTSTSTST  HHH

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

添加到@Paulo Tomé 的答案,假設可以有兩個以上的空格:

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

假設它總是兩個空格:

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

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

引用自:https://unix.stackexchange.com/questions/572524