Substituição de caracteres no Bash

0

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?

    
por Oded Sayar 20.05.2017 / 10:44

1 resposta

2

Use uma expansão de matriz e parâmetro:

files=(*.c)
echo OBJ = "${files[@]/%.c/.o}"
    
por 20.05.2017 / 10:59

Tags