如何在ksh93中提取子路径

时间:2016-11-22 13:41:17

标签: ksh

我可以在ksh88中这样做

path="/a/&b/c/d"
parent="/a/&b"
child="${path#$parent/}"

但不能在ksh93中 当子字符串包含斜杠时,语法是什么?

1 个答案:

答案 0 :(得分:1)

除非路径包含 ^ G 字符(BELL),否则这个方法应该适用于所有情况。

PATH=$(getconf PATH):$PATH
path="/a/&b/c/d"
parent="/a/&b"
sep=$(printf "\07") # or \033 to use ESC instead of BELL
child="$(printf "%s" "$path" | sed "s$sep^$parent$sep$sep")"