1

Я сталкиваюсь с проблемой "список аргументов слишком длинный", используя команду в оболочке (в моем случае bash). Большинство предложений для обхода этой проблемы предлагают использовать find или какой-либо вариант, предполагая, что это длинный список файлов, который превышает ограничение длины аргумента.

Однако в моем случае это не список файлов, а список аргументов. Я использую программное обеспечение sox обработки аудио, и мне нужно использовать столько аргументов командной строки, сколько я хочу (в зависимости от длины входного аудиофайла). Так, например, короткая версия команды, которую я хочу, может выглядеть так:

sox input.wav output.wav trim 0 1 gain 1 : trim 0 1 gain 2 : trim 0 1 gain 1

Но вместо трех пар аргументов «триммер / усиление» я хочу, чтобы он продолжался столько, сколько я хочу (поэтому представьте, что он просто продолжает работать с trim 0 1 gain X .

Есть ли способ написать функцию, чтобы сгенерировать это, чтобы подорвать ограничение длины arg? Я попробовал некоторые варианты, но не могу понять это.

1 ответ1

1

Если решение, относящееся к sox , удовлетворяет ваши насущные потребности, я вижу на справочной странице sox(1) что у него есть опция --effects-file которая позволяет вам указывать все ваши правки в файле вместо аргументов командной строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .