我可以使用Perl中的正则表达式,但以前不必在BASH中这样做。
我试图在google上搜索一些关于它的教程,但是没有看到像Perl那样的好教程。
我试图实现的是从一个名为/home/devtestdocs/devtestdocs-repo/
的变量中去掉$filename
并用另一个名为$testdocsdirurl
的变量替换它
希望这是有意义的,如果任何人有任何良好的联系,将是非常感谢。
另一种方法可能是,如果已经有人编写了一个函数来在bash中进行查找和替换。
最佳答案
sed
是Unix中字符串操作的典型选择武器:
echo $filename | sed s/\\/home\\/devtestdocs\\/devtestdocs-repo\\//$testdocsdirurl/
此外,正如hop所建议的,您可以使用
@
语法来避免转义路径:echo $filename | sed s@/home/devtestdocs/devtestdocs-repo/@$testdocsdirurl@