我正在重新构建我的网站&必须重新安排文件中的引用。有一个包含许多子目录的目录。 php文件。我正在使用某种命令/脚本来搜索每个&该模式的该目录中的每个文件&用自定义模式替换它。
对于例如:我想用one/two/three/
替换/shopping/shop/ipad
的确切匹配项。换句话说,如果任何文件包含一些字符串For Eg:
location:index.php?p=one/two/three/abcdefg&aid
然后应该用
代替location:index.php?p=/shopping/shop/ipad/abcdefg&aid
请注意,内容替换应发生在每个文件内,主目录中的每个目录/
子目录中(例如主目录名称为abc
&所有子目录和文件都在abc
)。不应更改目录名称本身。我怎样才能实现这一目标?我的服务器运行linux&我有根& shell访问。
答案 0 :(得分:1)
sed
:
find . -exec sed -i "s/one\/two\/three/shopping\/shop\/ipad/g" '{}' \;
答案 1 :(得分:1)
find . -type f|xargs perl -pi -e 's/one\/two\/three/shopping\/shop\/ipad/g'
测试并且工作正常。如果有o,它也不会替换
nly one
你也可以找到它here
答案 2 :(得分:0)
试试这个:
find . -type f -print0 | xargs -0 sed -i 's/one\/two\/three/shopping\/shop\/ipad/g'