linux - 删除空格分隔路径的路径前缀

标签 linux bash shell

给定一个由单个空格分隔的路径列表:

/home/me/src/test /home/me/src/vendor/a /home/me/src/vendor/b 

我想去掉前缀/home/me/src/ 这样结果是:

测试供应商/a供应商/b

对于单个路径我会这样做:${PATH#/home/me/src 但我如何将它应用到这个系列?

最佳答案

您可以使用// 来替换所有出现的子字符串。用空字符串替换它以删除它们。

$ path="/home/me/src/test /home/me/src/vendor/a /home/me/src/vendor/b"
$ echo ${path//\/home\/me\/src\/}
test vendor/a vendor/b

引用:${parameter/pattern/string} in Bash reference manual

关于linux - 删除空格分隔路径的路径前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37697512/

相关文章:

linux - SIP linux 客户端来阻止不需要的调用

python - 如何使用 Python 成功地将从 MySQL 表中选择的行列插入到目标 MSSQL 表中?

c++ - 为 Windows x64 构建 log4cplus

linux - 有没有办法从 shell 脚本文件打开登录 shell?

linux - 未能在 Fish 中构建通用压缩函数

linux - 如何将一个文件的文件权限应用于另一个文件

linux - cs 1.6安装linux怪异

python - O_NONBLOCK 不会在 Python 中引发异常

Bash 脚本 - 在一个存档中压缩多个目录

linux - 如何将 'stdout' 重定向到 'stderr' 并将 'stderr' 重定向到 'stdout'?