
Me encuentro con el problema de la "lista de argumentos demasiado larga" usando un comando en el shell (bash en mi caso). La mayoría de las sugerencias para solucionar este problema sugieren el uso find
de alguna variación, suponiendo que se trata de una larga lista de archivos que excede el límite de longitud del argumento.
Sin embargo, en mi caso no es una lista de archivos sino una lista de argumentos. Estoy usando el software de procesamiento de audio sox
y necesito poder usar tantos argumentos de línea de comando como quiera (dependiendo de la longitud del archivo de audio de entrada). Entonces, por ejemplo, una versión corta de un comando que quiero podría verse así:
sox input.wav output.wav trim 0 1 gain 1 : trim 0 1 gain 2 : trim 0 1 gain 1
Pero en lugar de solo tres pares de argumentos de recorte/ganancia, quiero que continúe todo el tiempo que quiera (así que imagina que continúa con trim 0 1 gain X
.
¿Hay alguna forma de escribir una función para generar esto con el fin de subvertir el límite de longitud del argumento? Probé algunas variaciones pero parece que no puedo entenderlo.
Respuesta1
Si una solución específica sox
satisfaría sus necesidades inmediatas, veo en la sox(1)
página de manual que tiene una opción --effects-file
que le permite especificar todas sus ediciones en un archivo en lugar de argumentos de línea de comando.