使用 GNU sed 在字符串之间添加下划线

使用 GNU sed 在字符串之间添加下划线

GNU sed这里是新手...

我有几个 FASTA 文件 (50K),其标题格式为

CYTC2889-12|Homo sapiens

我想添加下划线来获取

CYTC2889-12|Homo_sapiens

并将结果写入文件。

我在 macOS 上运行

我试过了

 sed -i.bak 's/\s/_/g' file.fas

但这给出了

>CYTC2889-12|Homo _apien_

这是接近的,但不正确

有什么想法吗?

答案1

你应该试试:

sed -i'.bak' 's/[[:space:]]/_/g' file.fas

我使用的是 Linux,因此GNU sed它可以工作sed -i 's/\s/_/g',但如果我使用sed --posix -i 's/\s/_/g'该命令将不起作用。

所以在 Linux 中如果我想使用 posix 我必须使用:

sed --posix -i'.bak' 's/[[:space:]]/_/g'  file.fas

相关内容