9 votos

Cambiar *.txt por *.csv

Cómo puedo renombrar todos los archivos *.txt de un directorio a archivos *.csv en el terminal (Mavericks). He intentado lo siguiente dentro del directorio:

mv *.txt *.csv

12voto

Es necesario hacer un bucle sobre todos los archivos

for f in *.txt; do
    mv "$f" "${f%.txt}.csv"
done

Si tiene archivos con nombres que empiezan por . también es posible que tenga que ejecutar

for f in *.txt .*.txt; do
    [[ -f "$f" ]] && mv "$f" "${f%.txt}.csv"
done

1voto

Goje87 Puntos 116

Esto también funciona bien:

# change to the Zsh
zsh

# load the built-in zmv function
autoload -U zmv

# rename the files
zmv '(*).txt' '$1.csv'

0voto

kiran Puntos 1
ls *.txt |awk '{print "mv "$1" " substr($1,1,(index($1,".txt")))"csv"}' |sh

Explicación del comando:

ls *.txt lista los archivos que terminan en txt

| awk '{print "mv "$1" " substr($1,1,(index($1,".txt")))"csv"} imprime el comando que permite renombrar los archivos anteriores listados con txt a csv

| sh ejecuta el comando previamente impreso, renombrando así los archivos

Nota: si quiere listar todos los archivos, incluidos los ocultos (los que empiezan por . ) utilizar ls -a *.txt en cambio

AppleAyuda.com

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.

Powered by:

X