Bash

折疊重複字元

  • March 18, 2015

echo "$PWD//" | sed -e 's#//\+#/#g'有沒有比用單個斜杠替換重複斜杠更 Bashist 的方式?

感謝Steven D,現在有一個完整的功能可以找到兩條或多條路徑中最長的公共路徑path_common

不是“僅限 Bash”的答案,但可能有用:

echo "$PWD///" | tr -s '/'

可能在“純 bash”中,但僅限於extglob活動。

$ shopt -s extglob
$ A="////qsd/////sdfgfg//qsd//////"
$ echo ${A//\/+(\/)/\/}
/qsd/sdfgfg/qsd/

引用自:https://unix.stackexchange.com/questions/11380