sed:从bash变量中替换第n个字符

时间:2014-09-16 22:52:58

标签: regex bash sed

我正在开发一个类似“github”的路径实用程序来更改目录,但是我的sed无法替换唯一的arg中的斜杠。

#!/bin/bash

if [ -n "$1" ]; then
  echo "cd /path/to/folder/$1" | sed 's,/,/theme/,5'
fi

运行此实用程序

customcmd site/project

应该返回

cd /path/to/folder/site/theme/project

1 个答案:

答案 0 :(得分:1)

无需分叉子shell并使用sed。您正在使用bash,因此请使用parameter expansion

#!/bin/bash

if [ -n "$1" ]; then
  echo "cd /path/to/folder/${1/\//\/theme/}"
fi

确保在运行脚本之前给予脚本可执行权限customcmd ...

相关问题