Use uma expansão de matriz e parâmetro:
files=(*.c)
echo OBJ = "${files[@]/%.c/.o}"
Eu tento criar um makefile usando o bash, e eu uso a seguinte linha
echo "OBJS = $(ls *.c | sed -r 's/.c\n/.o\s/g')" >> makefile
Eu quero imprimir a linha:
OBJS = foo.o bar.o
para os arquivos foo.c
e bar.c
no meu diretório de trabalho, mas recebo
OBJS = foo.c
bar.c
Eu não sou um especialista sed
, então acho que estou fazendo errado .. Alguém pode me dar uma mão aqui?