Snažím se dávkově přejmenovat spoustu souborů v mém shellu, a přestože je o tom na internetu spousta materiálu, nemohu najít řešení pro můj konkrétní případ.
Mám spoustu souborů, které mají (jak se zdá) „id časového razítka“:
abc_128390.png
abc_138493.png
abc_159084.png
...
který bych chtěl vyměnit za počítadlo:
abc_001.png
abc_002.png
abc_003.png
...
Můj (hodně) naivní přístup by byl něco jako:
mv abc_*.png abc_{001..123}.png
Také jsem nemohl přijít na způsob, jak zajistit, aby to fungovalo s for
-smyčka.
FWIW, bohužel rename
není v tomto konkrétním systému k dispozici.
Jakákoli rada by byla velmi oceněna!
Přijatá odpověď:
Nenapadá mě řešení, které zvládne zvýšení počítadla chytřeji, ale tohle by mělo fungovat:
i=0
for fi in abc_??????.png; do
mv "$fi" abc_$i.png
i=$((i+1))
done
Použití abc_*.png
by mělo být bezpečné protože je rozbalen před prvním mv
se někdy spustí, ale může být užitečné být velmi konkrétní v tom, že chcete pouze soubory s šestimístným časovým razítkem na konci.