Vorrei rinominare le mie immagini da .png a @ 2x.png. C'è un modo semplice per farlo con il terminale?Batch rinominare in OSX, aggiungere @ 2x a tutti i file che terminano con .png
risposta
Con l'aiuto della risposta di Marco Setchell sono stato in grado di risolvere questo con il seguente one-liner:
for f in *.png; do NEW=${f%.png}@2x.png; mv ${f} "${NEW}"; done;
Edit: flopr aveva ragione, ora dovrebbe funzionare
Questo dovrebbe farlo:
#!/bin/bash
ls *.png | while read f
do
BASE=${f%.png} # Strip ".png" off end
NEW=${BASE}@2x.png # Add in @2
echo mv "$f" "${NEW}" # Rename
done
salvarlo in un file chiamato Add2x, quindi digitare:
chmod +x Add2x
./Add2x
Dopo aver visto quello che sta per fare, togliere la parola "eco "così effettivamente lo fa.
Grazie, questo mi ha fatto sulla buona strada. Finalmente l'ho risolto con questa fodera: per f in * .png; do NEW=${f%.png}@2x.png; mv $ {f} "$ {NEW}"; fatto; – user1354603
@ user1354603 quindi devi postare questo come una risposta, quindi devi accettarlo quindi solo gli altri = sapere qual è la risposta corretta che aiuta a risolvere il tuo problema – Vinodh
ok, lo farà, mi dispiace Mark – user1354603
mi permetta di aggiungere qualcosa alla contributo. un più generico, formato multiplo (jpg, png, ..) e il nome di "estensione gratuita" (. Modello < nome> @ 2x < estensione>) una soluzione foderato sarebbe questo:
for file in *; do mv "$file" "${file%.*}@2x.${file##*.}"; done
Questo funziona come un fascino. Speranza che aiuta
Un ricorsivo uno di linea che uso:
find -L . -type f -name "*.png" -exec bash -c 'echo "$0" "${0%.*}@2x.png"' {} \;
Il -L per la gestione di link simbolici ... tipo F è per la ricerca di file solo
Swap 'echo' con ' Se sei soddisfatto di ciò che il comando farà.
In realtà, c'è un modo più semplice, utilizzando lo strumento di Perl rename
...
rename 's/(.+)\.png/$1\@2x.png/i' *.png
Che dice ... "sostituire uno o più caratteri seguiti da .png
da quegli stessi personaggi e @2x.png
. Do questo in un modo maiuscole e minuscole (i
) per tutti i file PNG. "
Lo strumento rename
è facilmente installabile con homebrew
utilizzando brew install rename
.
Ho votato per chiudere perché questa domanda è molto lontana dall'argomento. Però. Io uso [Nome Mangler] (http://manytricks.com/namemangler/). – rjstelling