Похоже, вы хотите удалить из файла строки, содержащие только пробелы.Синтаксис sed:
/^\s*$/d
То, что вы передаете в sed:
sed /^\\s*$/d
Это случайно является формой подстановки s / find / replace /, но с использованием e
вместо косой черты.(Вы можете использовать там практически любой символ.) Поскольку нет других e
s для завершения поиска и замены шаблонов, sed выдает ошибку.
Что вам нужно:
% cat $filename | sed '/^\s*$/d' | wc -l
или без кота:
% sed '/^\s*$/d' $filename | wc -l