Tengo un archivo con el nombre:
this is my app.ipa
Me gustaría cambiar el nombre de este archivo:
mv $(path)/this is my app.ipa $(path)/this_is_my_app.ipa
No parece correcto... Gracias de antemano.
Tengo un archivo con el nombre:
this is my app.ipa
Me gustaría cambiar el nombre de este archivo:
mv $(path)/this is my app.ipa $(path)/this_is_my_app.ipa
No parece correcto... Gracias de antemano.
Aunque podría preceder cada espacio con un \
sería mejor encerrar todo el nombre del archivo con un par de comillas dobles ""
como se muestra a continuación. Aquí asumo path
es una variable, que también puede contener espacios.
mv "$path/this is my app.ipa" "$path/this_is_my_app.ipa"
O, supongo que también podría utilizar lo siguiente.
mv "$path"/this\ is\ my\ app.ipa "$path"/this_is_my_app.ipa
Si path
es ejecutable con salida, entonces es correcto utilizar $(path)
.
Otros respuestas explicar las distintas formas de entrecomillar o escapar de los espacios. Pero como otra opción, el tabulador es tu amigo aquí y siempre que tenga nombres de archivos que sean difíciles de escribir, ya sea debido a caracteres que necesiten escaparse, a caracteres acentuados o inusuales, o simplemente a su longitud.
En concreto, si empiezas a escribir el comando y el nombre del archivo actual:
mv $(path)/thi
y a continuación pulse tab su shell debería completar automáticamente el nombre de archivo escapado:
mv $(path)/this\ is\ my\ app.ipa
después de lo cual puede continuar escribiendo el comando. (Si tiene varios archivos cuyos nombres comienzan de la misma manera, la función de completar el tabulador debería completar el nombre hasta el primer carácter ambiguo).
Depende de la cáscara.
La mayoría se encierran entre comillas - ya sea " o ' - tienen diferentes efectos en la expansión de las variables de entorno. Los shells POSIX no expanden ~ así que
mv "$(path)/this is my app.ipa" $(path)/this_is_my_app.ipa
Los shells POSIX también permiten escapar de los caracteres utilizando \N el
mv $(path)/this\ is\ my\ app.ipa $(path)/this_is_my_app.ipa
Además, si sólo hay un archivo con un nombre similar, utilice comodines por ejemplo
mv $(path)/this*.ipa $(path)/this_is_my_app.ipa
o
mv $(path)/this?is?my?app.ipa $(path)/this_is_my_app.ipa
Este es un enfoque un poco diferente que puede ser útil para usted.
Este código siguiente renombrará el archivo "esta es mi app.ipa", en el directorio de trabajo actual, a este "esta_es_mi_app.ipa"
for f in ./"this is my app.ipa" ;do echo "$f" |mv "$f" "$(sed 's@ @_@g')" ;done
La siguiente versión renombrará todos los archivos, en el directorio de trabajo actual, que terminen en ".ipa" y que también contengan espacios en el nombre... sustituyendo los espacios en blanco por guiones bajos.
for f in ./*.ipa ;do echo "$f" |mv "$f" "$(sed 's@ @_@g')" ;done
La siguiente versión renombrará todos los archivos, en el directorio de trabajo actual, que contengan espacios en el nombre... sustituyendo los espacios en blanco por guiones bajos.
for f in ./* ;do echo "$f" |mv "$f" "$(sed 's@ @_@g')" ;done
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.