6- Comando XARGS
\[\[5- Comando find y redirección de errores]] \[\[3- Ordenar la Información – SORT, HEAD, TAIL, WC y UNIQ]] ...
#ComandoFind #Xargs #UnixLinux #ComandosLinux #RenombrarArchivos #MoverArchivos #GestiónDeArchivos #Bash #Terminal #AutomatizaciónLinux #ScriptingLinux #AdministraciónDeSistemas #ShellScripting #GestiónDeDirectorios
xargs
es un comando que toma la salida de otro comando y la utiliza como entrada para otro comando, permitiendo realizar operaciones sobre cada elemento de esa salida. Es útil cuando el número de elementos encontrados es muy grande, ya que evita los problemas con límites de longitud de comando.
1. find . -name "*.txt" | xargs rm
Acción: Encuentra y elimina todos los archivos con extensión .txt
en el directorio actual y sus subdirectorios.
Pasos:
find . -name "*.txt"
: Busca todos los archivos con la extensión.txt
en el directorio actual (.
) y sus subdirectorios.- El resultado de
find
(la lista de archivos encontrados) se pasa al comandoxargs
. xargs rm
: Usa la lista de archivos como argumentos para el comandorm
, eliminándolos.
2. find . -name "*.txt" | xargs -I {} mv {} carpeta
Acción: Mueve todos los archivos .txt
encontrados al directorio carpeta
.
Pasos:
find . -name "*.txt"
: Encuentra todos los archivos.txt
en el directorio actual y sus subdirectorios.- El resultado se pasa al comando
xargs
con la opción-I {}
, que permite sustituir{}
con cada archivo encontrado. mv {} carpeta
: Por cada archivo encontrado, el comandomv
lo mueve al directoriocarpeta
.
3. ls *.txt | xargs -I {} mv {} {}.bak
Acción: Renombra todos los archivos .txt
en el directorio actual añadiéndoles la extensión .bak
.
Pasos:
ls *.txt
: Lista todos los archivos con la extensión.txt
en el directorio actual.- El resultado se pasa a
xargs
con la opción-I {}
. mv {} {}.bak
: Para cada archivo listado, el comandomv
lo renombra agregando.bak
al final del nombre original.
4. ls *.bak | xargs -I {} mv {} {}.txt
Acción: Cambia la extensión de todos los archivos .bak
a .txt
.
Pasos:
ls *.bak
: Lista todos los archivos con la extensión.bak
en el directorio actual.- El resultado se pasa a
xargs
con la opción-I {}
. mv {} {}.txt
: Para cada archivo listado, el comandomv
lo renombra cambiando su extensión de.bak
a.txt
.
5. ls *.txt | xargs -I {} mv {} backup_{}
Acción: Renombra todos los archivos .txt
en el directorio actual, agregando el prefijo backup_
a sus nombres.
Pasos:
ls *.txt
: Lista todos los archivos con la extensión.txt
en el directorio actual.- El resultado se pasa a
xargs
con la opción-I {}
. mv {} backup_{}
: Para cada archivo listado, el comandomv
lo renombra agregandobackup_
al inicio del nombre original.
5- Comando find y redirección de errores 3- Ordenar la Información – SORT, HEAD, TAIL, WC y UNIQ