Я хочу выполнить цикл 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 '#'
Это должно сработать.
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*#'
игнорирует строки, начинающиеся с #, и подсчитывает количество других строк.
Надеюсь, это поможет.