gpt4 book ai didi

linux - 用特定字符串替换行尾的空格字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:49 24 4
gpt4 key购买 nike

我正在处理包含 6 个字段的空格分隔文件:

Pop1 ID60776 62 C 10 62
Pop1 ID62442 13 A 2 13
Pop1 ID63614 56 C 0
Pop1 ID67511 61 T 37 61
Pop1 ID68222 51 A 0
Pop1 ID68407 65 C 16 65

然而,在第 3 行和第 5 行中,只有 5 个字段。在这些情况下,字段 5 中的 0 后跟一个空格字符 ('0 ')。

我想在一行的末尾找到一个空格字符的所有实例(即\s$ )并将其替换为空格 NA(即 '\sNA'),但我在这样做时遇到了真正的麻烦。例如,我试过 sed:

sed s/\\s$/\\sNA/g

但它不起作用。有人可以帮帮我吗?

谢谢!

最佳答案

下面是 awk 中的几个等效解决方案:

awk '{ printf("%s", $0) } NF == 5 { printf("NA") } { printf("\n") }

awk '{ print $0 (NF==5 ? "NA" : "") }'

关于linux - 用特定字符串替换行尾的空格字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6979206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com