たとえば次のようなスペースを含むファイルがあります:
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:]]/__/'
常に 2 つのスペースがあると仮定します。
tr '[[:blank:]]' '_' < file
空白がタブであってもこれらは機能します: