如何用斜杠替换子字符串

时间:2013-03-28 15:36:35

标签: sh

如何删除带斜杠的子字符串?

#!/bin/sh
dir="/a/directory/last/which/last part/needs to/be/removed/end"
dir2=${dir/"last part/needs to/be/removed"}
echo $dir2

在此示例中,输出应为

/a/directory/which/end

如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

一种方式:

 dir2=${dir%last*}

答案 1 :(得分:0)

您在bash中使用sh语法。

您的选择是:

  • 将您的shebang行更改为#!/bin/bash并更改dir2=${dir/"last part/needs to/be/removed/"}
  • 将shebang行保持为#!/bin/sh并更改dir2="$(echo ${dir} | sed -e 's/last part\/needs to\/be\/removed\///')"您需要逃离/
  • 的地方