Bash'deki karakterleri değiştirme


0

Bash kullanarak makefile oluşturmaya çalışıyorum ve aşağıdaki satırı kullanıyorum

echo "OBJS = $(ls *.c | sed -r 's/.c\n/.o\s/g')" >> makefile

Satırı yazdırmasını istiyorum:

OBJS = foo.o bar.o

dosyalar için foo.cve bar.cçalışma dizinimde

OBJS = foo.c
bar.c

Ben değilim sedben yanlış yapıyorum .. kimse burada bana yardım eder misin tahmin yüzden uzman?

Yanıtlar:


2

Bir dizi ve parametre genişletme kullanın:

files=(*.c)
echo OBJ = "${files[@]/%.c/.o}"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.