Para poder expandir uma variável shell no comando sed
, você precisa usar aspas duplas.
Você precisa usar a opção -r
como sed
ou preceder os caracteres de barra com barras invertidas.
Você também precisa evitar adicionar um caractere de pipe no final. Se você tiver, cordas vazias serão combinadas.
#!/usr/bin/bash
pattern=""
delim=""
for val in 'sed -e 's/.*=//' Client_clean.txt
do
pattern=$pattern$delim$val
# setting delim after its first use and using it before the new value
# results in "foo|bar|baz" instead of "foo|bar|baz|"
delim='|'
done
sed -ri "s/$pattern/CLIENT/g" "$1"