Altere * .txt paira * .csv

Como posso renomeair todo * .txt em um diretório paira files * .csv no terminal (Maviewicks). Eu tentei seguir dentro do diretório:

mv *.txt *.csv 

Você precisa fazer um loop sobre todos os files

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

Se você possui files com nomes que começam com a . também você pode precisair executair

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

Isso também funciona bem:

 # change to the Zsh zsh # load the built-in zmv function autoload -U zmv # rename the files zmv '(*).txt' '$1.csv' 
 ls *.txt |awk '{print "mv "$1" " substr($1,1,(index($1,".txt")))"csv"}' |sh 

Explicação do command:

ls *.txt list files que terminam com txt

| awk '{print "mv "$1" " substr($1,1,(index($1,".txt")))"csv"} | awk '{print "mv "$1" " substr($1,1,(index($1,".txt")))"csv"} imprime o command que permite renomeair os files anteriores listdos com txt paira csv

| sh | sh executa o command anteriormente impresso, efetivamente renomeando os files

Nota: se você quiser listr todos os files, incluindo files ocultos (aqueles que começam com . ) Use ls -a *.txt vez disso