1

サーバー上のフォルダーに25,000++の画像があります。それらの多くには%20が含まれているため、表示できません。str_replace('%20'、'_'、$ imagename)へのコマンドラインを実行する方法を知っている人はいますか?

ありがとう

4

3 に答える 3

3

これはうまくいくかもしれませんhttp://snipplr.com/view/2736/

(将来の参照用にここに提供されているコード)

for i in *.avi
do
  j=`echo $i | sed 's/find/replace/g'`
  mv "$i" "$j"
done

のように 1 行で書くこともできます。

for i in *.avi; do j=`echo $i | sed 's/find/replace/g'`; mv "$i" "$j"; done
于 2012-08-09T21:13:45.040 に答える
0

これを行う 1 つの方法は、ファイル内のファイルのリストを取得することです。awk '{print "mv $1 $1"}' > torename.sh' を実行し、正規表現を使用して torename.sh を編集します。目的のスクリプトを作成したら、スクリプトを実行します。

于 2012-08-09T21:12:31.590 に答える
0

この小さな 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-09T21:13:08.687 に答える