我正在使用Wordpress Eazyest画廊创建2000个画廊。某些文件在文件名中有两个或三个破折号。例如: abc --- def.jpg
在Wordpress管理员和前端,他们会被替换,这个文件名为 abc-def.jpg ,因此他们会成为破坏的链接/来源。
有没有办法可以使用SSH替换单个字符的文件夹中的所有 - 或 - ?我在Ubuntu 12.04上。在Wordpress核心上的任何其他解决方案也是受欢迎的。尝试在/wp-includes/formatting.php上注释掉这一行但是没有用:
$static_characters = array_merge( array( '---', ' -- ', '--', ' - ', 'xn–', '...', '``', '\'\'', ' (tm)' ), $cockney );
答案 0 :(得分:1)
我在其他地方找到了它,似乎有效
find . -depth -name '*foo*' -execdir bash -c 'mv -i "$1" "${1//foo/bar}"' bash {} \;
用作:
find . -depth -name '*---*' -execdir bash -c 'mv -i "$1" "${1//---/-}"' bash {} \;
有趣的是我意外地运行了第一个示例命令并搞砸了一切。幸运昨天获得了完整的图像备份。
答案 1 :(得分:0)
也许您可以在远程计算机上尝试使用此bash命令将文件名中的多个短划线替换为带有单个短划线的文件名?
for file in `ls *\-\-*`; do mv $file `echo $file | sed 's/\-\{1,5\}/\-/'`; done
此命令最多可将5个连续短划线替换为单个破折号。