gpt4 book ai didi

linux - 删除管道和逗号之间的文本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:13:13 27 4
gpt4 key购买 nike

我有一个巨大的长文件,文本分隔为

subtlechanges|NEW=19647490,subtlec|NEW=19638255 

我想要这样的文字

subtlechanges,subtle. 

我尝试使用\|.*$ 但它会删除第一个管道之后的所有内容。任何猜测。提前致谢

最佳答案

如果我没理解错的话,我们有一个文件可能如下所示:

$ cat file
subtlechanges|NEW=19647490,subtle|NEW=19638255

而且,我们要删除从竖线字符到下一个逗号的所有内容。在那种情况下:

$ sed 's/|[^,]*//g' file
subtlechanges,subtle

工作原理

在 sed 中,替换命令看起来像 s/old/new/g,其中 old 是删除内容的正则表达式,new是被替换的内容,最后的 g 表示我们不仅希望每行执行一次,而且每行执行尽可能多的次数。

我们在这里用于 old 的正则表达式是 |[^,]*。这匹配竖线、| 以及第一个逗号之后的任何字符,但不包括第一个逗号。

关于linux - 删除管道和逗号之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34033497/

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