Мне нужно извлечь строки, которые могут содержать последовательность \n
из файла.
Обратите внимание, что в этом случае \n
- это не перевод строки, а просто последовательность из двух символов:обратная косая черта, за которой следует нижний регистр n
.
Например, если я наберу:
echo garbage "useful \n string" garbage | sed -e s/.*\(\"[^\"]*\"\).*/\1/
, результат будет правильным:
"useful \n string"
Если вместо этого я сохранювведите команду sed в файл (b.txt
) и введите:
echo garbage "useful \n string" garbage | sed -f b.txt
, что должно сделать то же самое, вместо этого я не вижу соответствия, и результат:
garbage "useful \n string" garbage
Обратите внимание, что файл содержит только команду sed
;входная строка, все еще приходит из стандартного ввода.
Я использую GNU sed версии 4.2.1 в окне командной строки Windows 10.
Есть предложения?