9 votes

Remplacer *.txt par *.csv

Comment renommer tous les *.txt d'un répertoire en fichiers *.csv dans le terminal (Mavericks). J'ai essayé ce qui suit à l'intérieur du répertoire :

mv *.txt *.csv

12voto

nohillside Points 82672

Vous devez passer en revue tous les fichiers

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

Si vous avez des fichiers dont le nom commence par un . De même, il se peut que vous deviez exécuter

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

1voto

adam Points 11

Cela fonctionne également très bien :

# change to the Zsh
zsh

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

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

0voto

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

Explication de la commande :

ls *.txt liste les fichiers se terminant par txt

| awk '{print "mv "$1" " substr($1,1,(index($1,".txt")))"csv"} imprime la commande qui permet de renommer les fichiers précédents listés avec txt en csv

| sh exécute la commande imprimée précédemment, ce qui a pour effet de renommer les fichiers

Remarque : si vous voulez lister tous les fichiers, y compris les fichiers cachés (ceux qui commencent par . ) utiliser ls -a *.txt au lieu de

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X