Belirli numaralandırılmış dosyaları yeniden adlandırmak için Terminal kullanma


1

1-20 numaralı bir seri dosyam var ve Terminal bunları şöyle sıralar:

episode1.txt
episode10.txt
episode11.txt
episode12.txt

Sayının önüne 0 ekleyerek 1-9 arası dosyaları yeniden adlandırmak istiyorum. Kodum şudur:

for file in episode{1-9}.txt
do
   rename -vs "episode"* "episode0"*
done

'Mv' komutunu da denedim, ancak çalışmıyor. Bir önerisi olan var mı? Şimdiden teşekkürler

Yanıtlar:


0

Bir sıra numaralandırmak için {x..y}yerine kullanın {x-y}.

Tüm dosyalarınız çok benzer bir ada sahip olduklarından, önek episodeile değiştirirken önizlemeyi kesmek için parametre genişletmeyi kullanabiliriz episode0.

Tam komut şöyle görünür:

for file in episode{1..9}.txt
do
    mv "$file" "episode0${file#episode}"
done

${file#episode}bu durumda, fileeşleşen en kısa önek düzenini kaldırırken parametreyi genişleten bir parametre genişletmedir episode.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.