texto renombrar por extension copiar consola comandos comando buscar archivos archivo linux bash shell

linux - renombrar - eliminar una parte del nombre de archivo de un grupo de archivos



copiar archivos en linux (6)

Antes que nada use ''sed-e'' en lugar de ''/ e''

Y yo sugeriría que lo hagas de esta manera en bash

for filename in *.fasta; do [ -f "$filename" ] || continue mv "$filename" "${filename//test.extra/}" done

Deseo eliminar test.extra de todos mis nombres de archivo en el directorio actual

for filename in *.fasta;do echo $filename | sed /e ''s/test.extra//g'' done

pero se queja de que no se ha creado el archivo. echo es para asegurarse de que aparezca correctamente.


Intenta rename "extra.test" "" *

$ find ./extra.test-eggs.txt ./extra.testbar ./fooextra.test ./ham-extra.test-blah $ rename "extra.test" "" * $ find ./-eggs.txt ./bar ./foo ./ham--blah


Por un lado, tiene un /e lugar de -e .


Pruebe el comando de rename :

for filename in ./*; do mv "./$filename" "./$(echo $filename | sed -e ''s/test.extra//g'')"; done


Sé que esta banda de rodamiento es antigua, pero el siguiente enunciado, inspirado en la respuesta validada, me ayudó mucho;)

rename ''s/test.extra//g'' *.fasta


$ mmv ''*test.extra*.fasta'' ''#1#2.fasta''

Esto es seguro en el sentido de que mmv no hará nada si sobrescribe los archivos existentes (hay opciones de línea de comandos para desactivarlo).