gpt4 book ai didi

linux - shell 脚本。我的脚本中的命令替换问题

转载 作者:IT王子 更新时间:2023-10-29 00:47:02 26 4
gpt4 key购买 nike

在我的 Cygwin 和我的 Linux 机器 (Debian) 上,我遇到了同样的问题:

我正在使用某种格式化 ID 的 shell 脚本,我想在出现斜杠 (/) 之前添加一个反斜杠 ()。

我的 sed 脚本在我的终端上运行良好:

# export someid="314-12345/08"
# echo "${someid}" | sed 's/\//\\\//'

输出:

314-12345\/08

但如果我运行 command substitution 就不太好了:

# someidformatted=`echo "${someid}" | sed 's/\//\\\//'`
sed: -e expression #1, char 9: unknown option to `s'

我在这里缺少什么?

提前谢谢你。

最佳答案

没有义务使用/作为 sed 的分隔符。

s/a/c/

可能成为

s#a#c#

所以在你的情况下:

someidformatted=`echo "${someid}" | sed 's#\/#\\\/#'`

会完成这项工作。

我只能猜测问题是由于缺少/转义引起的。

关于linux - shell 脚本。我的脚本中的命令替换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1118601/

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