как выполнить для цикла с sed в терминале

Я хочу выполнить цикл for с командой sed, и получаю сообщение об ошибке для того же

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

, где команда = sed '/ ^ $ / d' /home/nextag/instance.properties | grep -vc '#'

Я получаю следующую ошибку: - -bash: sed "/^$/d" /home/nextag/instance.properties|grep -vc # : No such file or directory lu1

Как правильно выполнить эту команду, чтобы получить идеальный вывод [ 119]

Я тоже это пробовал >> for i in lu1;do 'sed \'/^$/d\' /home/nextag/instance.properties|grep -vc \'#\'';echo $i;done

Также, некоторые могут объяснить часть '/^$/d' в sed '/^$/d' /home/nextag/instance.properties|grep -vc '#'

2
задан 6 November 2012 в 08:55

1 ответ

Это должно сработать.

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

Нижняя строка используется для удаления всех пустых строк.

'/^$/d'

grep -vc '^\s*#' игнорирует строки, начинающиеся с #, и подсчитывает количество других строк.

Надеюсь, это поможет.

0
ответ дан 6 November 2012 в 08:55

Другие вопросы по тегам:

Похожие вопросы: