Запустите команду для каждого файла в каталоге, изменив имя вывода

Мне нужно скомпилировать все файлы C в каталоге на отдельные выходы … см. Пример gcc -Wall program1.c -o program1.out

Как мне это сделать?

One Solution collect form web for “Запустите команду для каждого файла в каталоге, изменив имя вывода”

Используйте строковые манипуляции :

 for f in *.c; do gcc -Wall "$f" -o "${f%%.c}.out"; done 

Нет необходимости в сложных регулярных выражениях или что-то, что не является оболочкой, встроенной здесь.

  • Предупреждение: раздел X не заканчивается на границе цилиндра. Должен ли я заботиться / как исправить?
  • Как получить команды, выпущенные в сеансе ssh
  • Как извлечь ISO на Linux без доступа root
  • Использовать инструмент командной строки для использования другого интерфейса?
  • Как я могу использовать квоты в самбе?
  • Файловая система, используемая для внешнего жесткого диска для использования с компьютерами Mac, Linux и Windows
  • Как я могу туннелировать весь свой сетевой трафик через SSH?
  • Linux: получить имя устройства текущего загрузочного диска
  • Linux: Каков наилучший способ копирования с поврежденного HD?
  • Экран GNU - открыть новое окно в рабочем каталоге текущего окна в именованном (sessionname) сеансе?
  • Как запустить Firefox в тюрьму без серьезной потери производительности?
  • Давайте будем гением компьютера.