Tengo un servidor basado en Linux con el que hago un poco de manipulación de archivos y sirvo a muchos otros servidores míos.
Básicamente, este servidor (por ejemplo, server1) toma la entrada como un archivo .mp3 de otros servidores y lo convierte a otros formatos de archivo (.wav, .txt y .xml) y envía la respuesta solicitada a otros servidores.
Durante un período de tiempo, esta carpeta mía (Say / Somepath / MyInputFolder) ahora tiene GB de datos que quiero eliminar.
Probé el comando rm -r * pero dice:
Argument list too long También probé rm -r *.mp3 y rm -r *.txt para eliminar estos archivos por separado, pero da el mismo error.
También probé esta pregunta SO y leí este enlace .
Probé la solución de la pregunta SO anterior y obtuve el error como advertencia.
find . -name "*.txt" -maxdepth 1 -print0 | xargs -0 rm find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.¿Cómo puedo conseguir esto?
Como ya se indicó en el comentario a la respuesta que vinculó, debe colocar -max depth directamente después de la ruta. Al igual que:
find . -maxdepth 1 -name "*.txt" -print0 | xargs -0 rmls | tail -10000 | xargs rm -rfEjecutado más veces.
Esto ha sido respondido, pero quería agregar esto para aquellos que se encontrarán con esta pregunta.
find tiene su propia opción -delete que eliminará los archivos que encuentre. Así que simplemente puedes hacer:
find -maxdepth 1 -name "*.txt" -deleteSi está interesado en leer más sobre este tema, le sugiero este enlace .