¿Cómo puedo realizar operaciones en la salida de un comando?

¿Cómo puedo realizar operaciones en la salida de un comando?

Me gustaría poder mover algunos archivos recientes a un nuevo directorio. Puedo enumerar los archivos más recientes ejecutando ls -t | head, pero ahora quiero poder mover (mv) esos archivos. ¿Cómo puedo hacer eso?

Respuesta1

Ahí tienes:
ls -t | head | xargs -I files mv files <dest_dir>.
Simplemente reemplace <dest_dir> con su directorio de destino.

Respuesta2

Otra opción es:

 mv $(ls -t) <dest_dir>

El comentario de Geirha también se aplica aquí: esto falla para los nombres de archivos que contienen espacios en blanco, etc.

información relacionada