gpt4 book ai didi

regex - 将字符串替换为星号 bash

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

我正在尝试从用户那里获取路径作为输入。
用户将为特定应用输入特定路径:

script.sh /var/log/dbhome_1/md5

我想将目录数(在这种情况下为 1)转换为 *(星号)。稍后,脚本将在此路径上执行一些逻辑。

当我在输入上尝试 sed 时,我被数字卡住了 -

echo "/var/log/dbhome_1/md5" | sed "s/dbhome_*/dbhome_\*/g"

并且输入将是 -

/var/log/dbhome_*1/md5

我知道我在使用星号通配符和作为字符时遇到了一些问题...也许正则表达式会在这里有所帮助?

最佳答案

GNU 代码:

sed "s#1/#\*/#"

.

$echo "/var/log/dbhome_1/md5" | sed "s#1/#\*/#"
"/var/log/dbhome_*/md5"

或者更一般的:

sed "s#[0-9]\+/#\*/#"

.

$echo "/var/log/dbhome_1234567890/md5" | sed "s#[0-9]\+/#\*/#"
"/var/log/dbhome_*/md5"

关于regex - 将字符串替换为星号 bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394181/

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