Почему делает sed выводы “символ 53: незавершенная' команда”

Проблема разрешила себя.

Кажется, что установщик не обновлял индикатор выполнения, и через немного менее чем 45 минут, новый раздел на 50 ГБ был успешно создан и отмечен как "свободное пространство".

30
19.11.2014, 17:33
3 ответа

команда s в sed, использует определенный синтаксис:

s/AAAA/BBBB/options

, где s является командой замены, , AAAA является regex, который вы хотите заменить, , BBBB с тем, что вы хотите, чтобы это было заменено и , опции являются любой из опций команды замены, такой как глобальной ( g), или игнорируйте регистр ( я ).

В вашем конкретном случае, вы пропускали заключительную наклонную черту / , если вы добавите его, , то sed будет работать просто великолепно:

➜  ~  sed 's/database_name: [^ ]*/database_name: kartable_$ME/'
database_name: something
database_name: kartable_$ME

информация sed 'Команда "s"' включает полное описание и использование команды s.

39
27.01.2020, 19:38

Пропавшие без вести / в конце.

sed -i "s/database_name: [^ ]*/database_name: kartable_$ME/" $PARAM_FILE
10
27.01.2020, 19:38

В моем случае (необычная проблема )У меня был \n в моей команде sed. Когда я запустил его в конвейере Jenkins или скопировал -, вставил его, он оказался многострочной командой -, и эта ошибка не удалась.

Решение состояло в том, чтобы избежать обратной косой черты

2
04.05.2021, 11:21

Теги

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