如何在ksh93中提取子路径

how to extract child path in ksh93

我可以在 ksh88 中这样做

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

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

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

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