gpt4 book ai didi

linux - 使用 sed 命令用正则表达式替换行

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:23 26 4
gpt4 key购买 nike

我想使用 sed linux 命令替换文件中的某些行。这是我想要实现的目标:

 cn.x1.x2 y -> cn_x1.x2 y
cn.x1.x2.x3 y -> cn_x1_x2.x3 y
cn.x1.x2.x3.x4 y -> cn_x1_x2_x3.x4 y

我想找到任何以“cn”开头的单词,并用下划线替换点,直到倒数第二个单词。如何使用正则表达式实现此目的?

提前致谢

最佳答案

您可以使用 sed 分两步完成此操作:

echo 'cn.x1.x2.x3.x4 y' | sed -r 's|\.|_|g; s|\_([^_]*)$|.\1|'

第一步用下划线替换所有点s|\.|_|g;

第二步将除最后一个下划线之外的所有下划线替换为点。 s|\_([^_]*)$|.\1|

关于linux - 使用 sed 命令用正则表达式替换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55729088/

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