ошибка в команде sed

Я использую ниже команды для файлов ранее, и она работает отлично, но теперь она генерировала ниже ошибки или предупреждения, что желаемый вывод является списком 82 имен, но этот код, дающий 88, я пытаюсь проанализировать выходной файл, 95% имен являются счетом к желаемому выводу, но остающийся немногими не. (Этот код должен в основном найти, что fileB [содержит только имена] в fileA [которые содержат имена и его идентификаторы]):

while read -r line; do sed -n "/$line/,/^C/p" fileA| sed '$d';done<fileB>fileC 
sed: -e expression #1, char 16: extra characters after command
0
задан 1 June 2017 в 23:47

1 ответ

Необходимо выйти из любых специальных символов, прибывающих из строки чтения. Например, если $line содержит какие-либо символы как / \"{}... Ваше sed выражение разваливается.

См. это сообщение для некоторого волшебства выхода: https://unix.stackexchange.com/a/33005

1
ответ дан 3 November 2019 в 03:54

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

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