我在服务器上的一个文件夹里有25,000张++图片。它们中的许多都有%20,这阻止了它们的显示。有没有人知道我怎么用命令行命令str_replace('%20','_',$imagename)?
谢谢
发布于 2012-08-10 05:13:09
下面这段python代码片段可能会对您有所帮助:
import os
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
if "%20" in name:
os.rename(os.path.join(root, name), os.path.join(root, name.replace("%20", "_")))
print("renamed: %s" % name)请注意".“参数设置为os.walk。将其更改为文件所在目录的路径,或者从该目录运行脚本。
发布于 2012-08-10 05:13:45
这可能会起作用,http://snipplr.com/view/2736/
(此处提供的代码供将来参考)
for i in *.avi
do
j=`echo $i | sed 's/find/replace/g'`
mv "$i" "$j"
done也可以在一行中写成
for i in *.avi; do j=`echo $i | sed 's/find/replace/g'`; mv "$i" "$j"; done发布于 2012-08-10 05:12:32
一种方法是获取文件中的文件列表,即使用'ls -1 | awk '{print "mv $1 $1"}‘> torename.sh',然后使用正则表达式编辑torename.sh。一旦你得到了你想要的脚本,运行脚本。
https://stackoverflow.com/questions/11891958
复制相似问题