我有一個存儲在一個變量獲得的部分文件路徑在bash腳本
$ FULLPATH =路徑「/這/是/的/路徑/要/我的/ file.txt的」
我也有一個包含部分路徑的另一個變量
$偏=「/這/是/的/」
我想要讓我留下來從完整路徑中刪除部分路徑:
path/to/my/f ile.txt
這樣做的最佳方法是什麼?
我有一個存儲在一個變量獲得的部分文件路徑在bash腳本
$ FULLPATH =路徑「/這/是/的/路徑/要/我的/ file.txt的」
我也有一個包含部分路徑的另一個變量
$偏=「/這/是/的/」
我想要讓我留下來從完整路徑中刪除部分路徑:
path/to/my/f ile.txt
這樣做的最佳方法是什麼?
使用bash的#
模式匹配操作:
${FULLPATH#${PARTIAL}}
有沒有辦法修改這個,所以有一個可選的'/'?這樣,如果'$ PARTIAL'沒有'/',它仍然會被刪除? – David 2016-07-05 18:31:13
如果您確信$PARTIAL
是一個實際的路徑:
result="${FULLPATH#$PARTIAL}"
result="${result#/}"
# echo $FULLPATH | sed 's#'"$PARTIAL"'##'
這裏有一個小更詳細地Klatchko先生的優秀回答:
$ FULLPATH="/this/is/the/path/to/my/file.txt"
$ PARTIAL="/this/is/the/"
$ echo ${FULLPATH#${PARTIAL}}
path/to/my/file.txt
與往常一樣,我在發帖後30秒解決了問題。我通過sed運行路徑,並刪除部分路徑...傻我 – 2010-04-07 18:11:25