Мне нужно скомпилировать все файлы C в каталоге в отдельные выходные данные ... см. Пример gcc -Wall program1.c -o program1.out
Как мне это сделать?
Используйте манипуляции со строками:
for f in *.c; do gcc -Wall "$f" -o "${f%%.c}.out"; done
Не нужно сложных регулярных выражений или чего-то такого, что не является встроенной оболочкой.