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