У меня есть несколько файлов, и я хочу использовать их имена в качестве аргументов команды, чтобы команда стала
<command> <option> <file1> <option> <file2> ...
Для каждого имени файла я хочу добавить его к имени опции. Я не знаю, сколько там файлов. Как я могу это сделать? Есть ли в bash / shell что-то похожее на map
?
Файлы существуют, поэтому я могу получить имена, используя find
или mayb ls
, если я уверен в именах файлов, поэтому я искал для чего-то подобного вы можете сделать с xargs
ls -1q <pattern> | xargs <command> ...
Но вместо того, что делает xargs
(превращая его в одну команду для каждого файла), я хочу одну команду со многими аргументами со вставленным <option>
перед всеми именами файлов.
В моем конкретном примере c я хочу объединить неизвестное количество файлов данных покрытия одной командой:
lcov -o total.coverage -a <file1> -a <file2> ...
Это внутри Makefile, но я ' Я предпочитаю «стандартный» подход к оболочке.