Hace poco estuve copiando y moviendo una gran cantidad de archivos (~ 400,000). Sé que hay limitaciones en la cantidad de argumentos que se pueden expandir en la línea de comandos de Bash, así que he estado usando xargs para limitar los números producidos.Número máximo de argumentos Bash! = Max argumentos num cp?
Por curiosidad, me preguntaba lo que el número máximo de argumentos que podría utilizar era, y me encontré this post diciendo que era dependiente del sistema, y que podía ejecutar este comando para averiguar:
$ getconf ARG_MAX
Para mi sorpresa, el anwser llegué fue:
2621440
poco más de 2,6 millones de . Como dije, el número de archivos que estoy manipulando es mucho menor que esto, alrededor de 400k. Definitivamente necesito usar el método xargs
para mover y copiar estos archivos, porque traté de usar un mv * ...
normal o cp * ...
y obtuve un error de 'Lista de argumentos demasiado larga'.
Entonces, ¿los comandos mv
y cp
tienen su propio límite fijo en el número de argumentos que puedo usar (no pude encontrar nada en sus páginas man), o me falta algo?
¿Por qué tiene que especificar cada archivo? ¿No puedes especificar el directorio en el que están o algo así? –
@Christoffer No estoy simplemente copiando un directorio de un lugar a otro, estoy copiando archivos específicos, cambiando el nombre de grupos de archivos, moviendo ciertos archivos de un lugar a otro. No tengo ningún problema en realizar estas operaciones. Solo tenía curiosidad sobre cuáles eran las limitaciones específicas de los comandos 'cp' y' mv'. –