Cómo agregar una extensión a todos los archivos a través del terminal


14

Me gustaría agregar la extensión .zip a todos los archivos. Intenté esto, sin embargo no funciona:

ls | awk '{print $1 " " $1".zip"}' | xargs mv -f

Respuestas:


5

Buscando - pocos enlaces:

  1. Agregue recursivamente la extensión de archivo a todos los archivos
  2. Agregue extensión de archivo a archivos con bash

cambiar el nombre del hombre:

NAME
       rename - renames multiple files

SYNOPSIS
       rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

DESCRIPTION
       "rename" renames the filenames supplied according to the rule specified as 
       the first argument.  The perlexpr argument is a Perl expression which is 
       expected to modify the $_ string in Perl for at least some of the filenames 
       specified. If a given filename is not modified by the expression, it will not 
       be renamed.  If no filenames are given on the command line, filenames will be 
       read via standard input...

wiki de hombre: http://en.wikipedia.org/wiki/Man_page


1
gracias, basado en eso pude hacerlo así - ls | xargs -I% mv
%%


15
rename 's/$/\.zip/' *

¡No lo uses xargspara eso!


¿Por qué no usar xargs?
UAdapter

2
Bueno, ¡simplemente no hay razón!
Adobe

4

Una forma muy simple de hacerlo es:

si quieres mantener la extensión actual:

for i in *; do mv $i ${i}.zip; done     

si desea reemplazar la extensión actual:

for i in *; do mv $i ${i%.*}.zip; done

0

Esto debería funcionar:

mmv "./*" "./#1.zip"

(Aunque no tengo idea de por qué querrías hacer esto ...)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.