我正在尝试使用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文档.