加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Shell脚本.我的脚本中的命令替换问题

发布时间:2020-12-13 23:18:13 所属栏目:Linux 来源:网络整理
导读:在我的Cygwin和我的 Linux盒子(Debian)上,我遇到了同样的问题: 我正在使用某种格式化ID的shell脚本,我想在斜杠出现(/)之前添加反斜杠(). 我的sed脚本在我的终端上运行良好: # export someid="314-12345/08"# echo "${someid}" | sed 's/////' 输出: 3
在我的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#/#/#'`

会做的.

我只能猜测问题是由于某些缺乏/逃避造成的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读