gpt4 book ai didi

bash - 替换换行符的选项卡并与 SED 一起删除换行符

转载 作者:行者123 更新时间:2023-12-02 09:17:29 25 4
gpt4 key购买 nike

我在这些词之间有制表符(五个):

猫狗

我想要这个输出:

catdog

我试过这个:sed 's/\t/\n/g;/^$/d' 宠物并且输出与 sed 's/\t/\n/g' pets 相同:

catdog

我必须执行 sed 两次才能得到我想要的。像这样 sed 's/\t/\n/g' pets>temp after sed '/^$/d' temp

有没有一种方法可以通过一条命令获得所需的输出?

最佳答案

继续我的评论。 sed 's/\t/\n/g 的问题是您将用 ' 替换 each '\t'\n'。您想要用单个 换行符替换一系列 制表符。为此,您需要:

sed 's/\t\t*/\n/g'

或者如果您喜欢在 [ ] 中显式地包含 '\t' 也可以。

表达式 '\t' 匹配单个制表符,当其后跟 '\t\t*' 时它匹配一个制表符 和零个或多个制表符接下来序列替换为单个'\n',从而得到您想要的输出:

cat
dog

末尾的 g(全局)将只用一个换行符替换每个序列,例如

"cat     dog           fish" 

(由制表符分隔),变为

cat
dog
fish

如果您有任何问题,请告诉我。

关于bash - 替换换行符的选项卡并与 SED 一起删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45657084/

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