Я уверен, что это было написано где-то раньше ... Я пытаюсь использовать sed для замены строки со следующим форматом, который находится в большей строке:Как использовать sed для замены строки в более крупной строке
EFF=<some text>;
Строка всегда начинается с 'EFF =' и заканчивается символом ';'
Я пробовал следующее, но как-то он удаляет гораздо больше, чем предполагалось (вместо того, чтобы просто удалять этот конкретный раздел, он удаляется до финала ';' в более крупной строке), поэтому я не уверен могу ли я быть более конкретным в моей команде:
sed -i 's/EFF=.*;//g'
например, из большей строки:
<some text>;EFF=<some text>;<some text>;<some text>;
"некоторый текст" не тождественна
Это трюк ... могу ли я спросить, что означает [^;] в этом контексте? – user2726449
Перейдите в обычный-expressions.info, чтобы узнать о регулярных выражениях. – Barmar
'[^;]' означает каждый символ, который не является; – Jotne