gpt4 book ai didi

sed - 使用 sed 仅在一行的一部分内进行替换

转载 作者:行者123 更新时间:2023-12-04 21:20:17 27 4
gpt4 key购买 nike

如何替换'.'在下面输入的“=”字符之前的行部分内使用“_”

需要一个 sed 命令来完成所有这三个操作

echo "few.num.dots=/home/user/.hidden/folder.dot" | sed 's/\./_/g'

要求的输出=> few_num_dots=/home/user/.hidden/folder.dot

echo "var=nodot" | sed 's/\./_/g'

要求的输出=> var=nodot

echo "var.one=onedot.notthis" | sed 's/\./_/g'

需要输出=> var_one=onedot.notthis

最佳答案

您可以使用 t 命令使用条件分支。它会循环直到替换命令失败,并且该命令替换任何 . 字符后跟一个等号:

echo "few.num.dots=/home/user/.hidden/folder.dot" | 
sed ':a; s/\.\([^=]*=\)/_\1/; ta'

它产生:

few_num_dots=/home/user/.hidden/folder.dot

关于sed - 使用 sed 仅在一行的一部分内进行替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823697/

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