Zoe*_* RW 8 command-line sed text-processing
我有一个两列空格分隔的 .txt 文件,但第一列有空格(这是错误)。我需要将它转换为 csv,但我不能只用逗号替换所有空格。
示例输入:
gi|118592783|ref|ZP_01550172.1|_biphenyl-2 3-diol_1 2-dioxygenase_[Stappia_aggregata_IAM_12614] 1
Run Code Online (Sandbox Code Playgroud)
期望的输出:
gi|118592783|ref|ZP_01550172.1|_biphenyl-23-diol_12-dioxygenase_[Stappia_aggregata_IAM_12614],1
Run Code Online (Sandbox Code Playgroud)
我如何使用sed(或其他任何东西)用逗号替换一行中的最后一个空格,然后删除所有剩余的空格?这会有效地创建一个 CSV 文件吗?
就像是:
sed -r 's/(.*) /\1,/; s/ //g'
Run Code Online (Sandbox Code Playgroud)
第一个替换是贪婪的,将覆盖组中除最后一个空间之外的所有空间,将最后一个替换为,。然后第二个将消除其余部分。