Выполнить все файлы в списке

У меня есть исходное дерево, которое при запуске make создает несколько исполняемых файлов с именем «001», «002» и т. Д. Я пытаюсь написать скрипт, который найдет все эти исполняемые файлы в моем исходном дереве, а затем выполнит их. У меня это до сих пор:

find build/ -type f -executable | ack --nocolor "\d{3}$"

В котором перечислены исполняемые файлы, которые я хочу выполнить правильно.

Мой вопрос: как я могу запустить все из них? Я подумал, что, возможно, какая-то комбинация xargs и exec будет делать это, но exec похоже, пытается заменить текущую оболочку командой, чего я не хочу.

4 Solutions collect form web for “Выполнить все файлы в списке”

Пытаться:

 $ find build/ -type f -executable | ack --nocolor "\d{3}$" | while read prog do "$prog" done 

Это может сработать

 find build/ -type f -executable -exec sh -c 'exec "$1"' _ {} \; 

Или фильтровать только файлы 001 , 002 ..

 find build/ -type f -name '*[0-9][0-9][0-9]' -executable -exec sh -c 'exec "$1"' _ {} \; 

Одна из find – это выбор файлов, соответствующих критериям, поэтому вы можете использовать его для выбора файлов, имена которых состоят из трех цифр. И тогда вы можете использовать эту более простую форму:

 find build -name "[0-9][0-9][0-9]" -type f -executable -exec {} ";" 

И вы могли бы использовать -regex '.*/\d{3} если вы можете найти правильный -regextype чтобы пойти с ним.

 find -type f -name '00[123]' -exec env - {} \; 

Добавьте в любую среду, которую вы хотите объявить для разных исполняемых файлов. Может быть, 2>/dev/null если есть неисполняемые файлы 00[123] , и вы не хотите слышать об этом.

  • Нужна команда для отображения эха «успех»
  • Почему этот исходный оператор не работает?
  • Как я могу вызвать запрос на кодовую фразу ssh key во время выполнения скрипта?
  • shell: разделение столбцов с помощью awk-стопов, если найдено не целое число
  • В чем разница между сравнением внутри, если использовать два или один равный (=)
  • Как включить защиту от температуры процессора
  • Установка и размонтирование в том же сценарии оболочки приводит к ошибке
  • удалить строки, где значение поля меньше или равно 3 - sed или awk?
  • переместить вывод в оболочку в bash 3
  • Как именно «до $ @» работает в сценариях bash?
  • Как явным образом вызывать встроенную оболочку?
  • Interesting Posts

    Как добавлена ​​новая аппаратная поддержка ядра linux?

    PKG замедляется на FreeBSD, установленном на VirtualBox

    Как принудительно обновлять файл, если оставить его без изменений через 55 минут?

    Границы слова Grep

    Прочитать отметку времени цифровой подписи файла Windows в Ubuntu

    Как я могу проверить конфигурацию моего ядра?

    Печатать надлежащий файл журнала с сеанса терминала

    Нужно ли останавливать процессы, такие как mysql или apache, перед «перезагрузкой»?

    Программно использовать visudo для редактирования sudoers?

    Заменить символы подчеркивания пробелами для всех файлов в каталоге

    Linux ssh (ошибка / сломанная) все еще работает, даже когда служба остановлена ​​на linux ubuntu?

    Подсветка синтаксиса Vim терпит неудачу с автосессией

    Отображение текстового пути в Caja (менеджер файлов Mint Linux)

    Distro с pip и npm как менеджеры пакетов?

    Проблемы разрешения. Не удается получить почтовые сообщения в почтовых ящиках из dovecot

    Linux и Unix - лучшая ОС в мире.