bash, dosyalar, dosyaları yeniden adlandırma, konum değiştirme
Nasıl yeniden adlandırılır
sluno-20201027-call-metroua-status.mp4
sluno-20201103-call-deriva.mp4
sluno-20201103-call-metroua-status.mp4
sluno-20201105-call-makrocz.mp4
sluno-20201105-call-metroua-testcall.mp4
sluno-20201105-call-sluno-ggtabak.mp4
sluno-20201110-call-makrocz.mp4
sluno-20201110-call-metroua-status.mp4
sluno-20201110-call-sluno-utccz.mp4
-e
sluno-call-metroua-status-20201027.mp4
sluno-call-deriva-20201103.mp4
sluno-call-metroua-status-20201103.mp4
sluno-call-makrocz-20201105.mp4
...
Tarihi / dizeyi 7-14
dosya adının sonuna taşıyın .
Teşekkürler.
Yanıtlar
mmv, karmaşık olmayan dosya yeniden adlandırma için iyi çalışır .
mmv '*-*-*-*.mp4' '#1-#3-#4-#2.mp4'
Ayrıca, özellikle aynı dizinde başka dosyalar olabileceği durumlarda, başka bir şeyin üzerindeki adı değiştirmediğinizden emin olmak için daha fazla referans noktasına sahip olmak yararlı olabilir.
mmv 'sluno-[0-9]*-call-[a-z]*.mp4' 'sluno-call-#3#4-#1#2.mp4'
^ ^ ^ ^
1 2 3 4
sluno-20201027-call-metroua-status.mp4
^------- ^-------------
1 2 3 4
Ben olsaydım Yürütmem bunu yapmak için, mv
ve bash
ben bir for döngüsü ile ve gider bash
BRE eşleştirme yerleşik.
for i in *.mp4; do \
[[ $i =~ ^sluno-(.*)-call-(.*).mp4 ]] && \ mv -- "$i" "sluno-call-${BASH_REMATCH[2]}-${BASH_REMATCH[1]}.mp4"; \
done
Kullanım rename
:
rename -n 's/^(.*?)-(.*?)-(.*?)(\.mp4)$/$1-$3-$2$4/' *.mp4
-n
Çıktıdan memnunsanız çıkarın .
Açıklama için ziyaret bu .
Başka seçenek:
$ qmv {desen}
seçtiğiniz düzenleyiciye 2 sütun dosya adı bırakacaktır.
İstediğiniz dosya adlarına sahip olmak için sağdaki sütunu değiştirin.
Soldaki sütun, orijinal addır. Sağ grubun başlangıç sütunu değiştirilemez, bu nedenle otomatik kaydırmanın önüne geçilebilir.
Her editöre sahip bir uzmanın elinde, özellikle vim sütunu ve görsel modlar için bu çılgınca hızlı olabilir.
Genel olarak yeniden adlandırmayı kullanıyorum, ancak karmaşık ihtiyaçlar için editörde tam isimleri görmek güzel.