bash - 从真实路径中删除单词

标签 bash shell

假设我有目录

/home/project/program.c

我想改成

project/program.c

我已将真实路径设置为变量并尝试删除“/home/”,但它仍然存在。

fpath="$(realpath $file)" 
ffpath=${fpath//$/home//}
echo "$ffpath"

有人可以提供一些提示吗?

最佳答案

您的较短解决方案是使用前缀模式删除:

fpath="$(realpath $file)" 
ffpath=${fpath#/home/}
echo "$ffpath"

但是,如果您坚持使用模式替换,则必须将斜杠括起来,因为它们是特殊的分隔符:

fpath="$(realpath $file)" 
ffpath=${fpath/\/home\/}
echo "$ffpath"

关于bash - 从真实路径中删除单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49585124/

相关文章:

java - 从java程序调用shell脚本并将参数从java for循环传递给shell脚本

linux - 在打印特定菜单的 shell 脚本中需要帮助

linux - 递归地重命名文件并删除一个字符

linux - 有人可以告诉我 <<< 和 <<< 之间的区别,或者告诉我在哪里可以找到此信息

macos - MAC : How to merge folder so that we only overwrite when source files is newer than destination files?

mysql - 导出庞大数据库(40GB)

c - ls 与 nohup 配合不好

python - anacron 是否已针对 Mac 弃用?为什么我在运行 anacron 时看不到任何输出?

bash - 期望 ssh 无密码

bash - 如何删除超过 X 小时的文件