Ho una cartella con circa 1.700 file. Sono tutti chiamati come 1.txt
o 1497.txt
, ecc. Vorrei rinominare tutti i file in modo che tutti i nomi di file siano lunghi quattro cifre.Script di shell Linux per aggiungere zeri iniziali ai nomi di file
I.e., 23.txt
diventa 0023.txt
.
Che cos'è uno script di shell che lo farà? Oppure una domanda correlata: come utilizzare grep per abbinare solo le righe che contengono \d.txt
(vale a dire, una cifra, quindi un punto, quindi le lettere txt
)?
Ecco quello che ho finora:
for a in [command i need help with]
do
mv $a 000$a
done
In sostanza, correre che per tre volte, con i comandi lì per trovare una cifra, due cifre, e tre nomi di file cifre (con il numero di zeri iniziali cambiato).
Si dovrebbe contrassegnare questo con la shell che si sta utilizzando – meagar
Eventuali duplicati di [script Bash per riempire i nomi dei file] (http://stackoverflow.com/questions/55754/bash-script-to-pad-file-names) –
@CiroSantilli, per inciso, ho avuto qualcuno che recentemente ha respinto un dupe che viene chiuso con quello come la logica per eseguire il pad dei numeri iniziali e la logica per eseguire il pad dei numeri in un secondo momento è leggermente diversa. (Di conseguenza, https://stackoverflow.com/questions/46993470/padding-filenames-with-zeros-in-bash è attualmente contrassegnato come un duplicato di questa risposta, e * non * un duplice di quello). –