como executar o loop com sed no terminal

2

Eu quero executar o loop for com o comando sed e está recebendo um erro para o mesmo

for i in <comma-separated server name list>;do "command";echo $i;done

em que command = sed '/ ^ $ / d' /home/nextag/instance.properties|grep -vc '#'

Estou recebendo o seguinte erro: - -bash: sed "/^$/d" /home/nextag/instance.properties|grep -vc # : No such file or directory lu1

Qual é a maneira correta de executar este comando para obter a saída perfeita

Eu também tentei isso > > for i in lu1;do 'sed \'/^$/d\' /home/nextag/instance.properties|grep -vc \'#\'';echo $i;done

Além disso, alguns podem explicar a parte '/^$/d' em sed '/^$/d' /home/nextag/instance.properties|grep -vc '#'

    
por vipin8169 06.11.2012 / 05:40

1 resposta

2

Isso deve funcionar.

for i in <space-delimited server name list>;
do 
sed '/^$/d' /home/nextag/instance.properties | grep -vc '^\s*#';
echo $i;
done

Abaixo da linha é usado para remover todas as linhas vazias.

'/^$/d'

grep -vc '^\s*#' irá ignorar as linhas que começam com # e fornece a contagem de outras linhas.

Espero que isso ajude.

    
por devav2 06.11.2012 / 06:25