bash – 使用sed从字符串中删除子串

前端之家收集整理的这篇文章主要介绍了bash – 使用sed从字符串中删除子串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用sed删除变量中的子串,如下所示:
PRINT_THIS="`echo "$fullpath" | sed 's/${rootpath}//' -`"

哪里

fullpath="/media/some path/dir/helloworld/src"
rootpath=/media/some path/dir

我想像这样回应其他的全路径(我正在使用这个整个目录,所以我需要将其存储在变量中并自动执行

echo "helloworld/src"

使用变量将是

echo "Directory: $PRINT_THIS"

问题是,我不能得到sed去除子串,我做错了什么?谢谢

你不需要sed,只有一点就够了:
$fullpath="/media/some path/dir/helloworld/src"
$rootpath="/media/some path/dir"
$echo ${fullpath#${rootpath}}
/helloworld/src
$echo ${fullpath#${rootpath}/}
helloworld/src
$rootpath=unrelated
$echo ${fullpath#${rootpath}/}
/media/some path/dir/helloworld/src

查看String manipulation文档.

猜你在找的Bash相关文章