0

フォルダーに多数の画像を保存していますが、その中には12412421_3843114_12412412. そのようなファイルは 200 ~ 300 個あります。私は単純な種類のシーケンスを割り当てることができるようにしたいと考えていa-zA-Zます。つまり、数字やアンダースコアはありません。cygwinでこれを行うにはどうすればよいですか?

編集ファイル名を のようにしたいのですが、アンダースコアなしabdllwlaslfにする必要があります。アンダースコアを使用しないとオプションが制限されることはわかっていますが、私の場合はそれで十分です。

4

2 に答える 2

1

非常にきれいなファイル名は生成されませんが、技術的にはこれで目的が達成できます...

for i in $( find . -regex ".*/[0-9_]+$" ) ; do mv $i $( basename $i | sed 'y/0123456789_/ABCDEFGHIJK/' ) ; done

という名前のファイルは、上記を使用して12412421_3843114_12412412なりBCEBCECBKDIEDBBEKBCEBCEBCます。sed必要に応じて、置換の文字を微調整できます。

上記のコマンドは、問題のフォルダー内から実行する必要があることに注意してください。

実際の Linux システムでは、コマンドを使用してこれをより効率的に実行できますが、Cygwin でのrename使用はうまくいきませんでした。rename

于 2012-08-20T20:36:29.567 に答える
1

0 を a に、1 を b に置き換えるだけだとすると、次のように使用できますtr

$ echo 42344234_1341264574_2134234 | tr 0123456789_ abcdefghij
ecdeecdejbdebcgefhejcbdecde

の代わりにecho、ファイル名をパイプして、結果を名前変更に使用します。

于 2012-08-20T21:03:16.177 に答える