Неопределенное регулярное выражение адреса с использованием sed - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть скрипт на Perl, работающий в Linux, и я получаю сообщение об ошибке с неопределенным адресом в строке ниже.

cat $filename | sed ‘sed /^\\s*$/d’ | wc -l

Как мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

попробуйте с -E опцией регулярного выражения

sed -E '/^\s*$/d' $filename | wc -l
0 голосов
/ 30 апреля 2019

Похоже, вы хотите удалить из файла строки, содержащие только пробелы.Синтаксис 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...