ファイル名をフォルダ名に一括変更

ファイル名をフォルダ名に一括変更

次のフォルダ構造があります。「Pictures/2015/2015-01-02/random_name.jpg」ファイル名を「2015-01-02 001.jpg」、「2015-01-02 002」に変更したいと思います。 。 jpg 'など

私はbashプログラミングとperl表現に慣れていないので、助けてくれてありがとう。事前にありがとう

ベストアンサー1

cd target_dir
dcomp="$(basename "$(pwd)")"
count=1
for file in *; do
    ext="${file##*.}"
    mv -v "$file" "$dcomp $(printf '%03d' "$count").$ext"
    (( count++ ))
done

これは実際には結果ファイル名にスペースが必要であると仮定しますが、これは良い考えではありません。もちろん、ループ内のモードを好きなように変更できます。複数のディレクトリに対してこれを行うには、内容全体をその上のループに配置します。

おすすめ記事