Bunun gibi bir dosya yapısına sahibim:
- 00000010
- 000000001.file1
- 000000001.file2
- 00000020
- 00000003.file1
- 00000003.file2
- 00000003.file3
- ...
Bu nedenle, 8 basamaklı sayılarla başlayan adı olan bir cevher daha fazla dosya içeren 8 basamaklı ada sahip klasörler var. Ancak bu tezlerin isimleri - diyelim - senkronize değil. Şimdi onları tekrarlamak için bash olarak arşive yeniden adlandırmaya çalışıyorum:
- 00000010
- 000000010.file1
- 000000010.file2
- 00000020
- 00000020.file1
- 00000020.file2
- 00000020.file3
- ...
Komut dosyam şuna benziyor:
#! /bin/bash
find * -maxdepth 1 -name "*" -type d | while read -r dir
do
rename 's/$dir\/[0-9]{8}/$dir/' *
done
Ancak bu çalışmıyor ve gibi hatalar veriyor
Genel sembolü "$ dir" (eval 1) 1 satırında açık bir paket adı gerektiriyor.
Dosyaları klasör adlarına göre yeniden adlandırmak için nasıl yazabilirim?
Yardımın için teşekkürler!