Так скажем, у меня есть файлИспользование СЭД, чтобы добавить строку, игнорируя пустое пространство для конкретной линии
a b c
a b
a
, и я хочу, чтобы добавить строку ниже линии, содержащей Ь и с. Поэтому я пишу команду:
sed -i '/s*a b c/a new line'
Но это не работает. Что не так с командой sed, которую я написал?
Пространство звезда Продольный является излишним, хотя. – tripleee
Это просто означает, что если за 'c' следует что-то, это должно быть пространственным символом. – redneb
Нет, это не так. Это означает, что если есть место, это нормально, а если нет, это тоже хорошо. Он не делает ничего, чтобы предотвратить совпадение, если следующий символ не является пространством. В более общем плане указание необязательного начального или конечного контекста для сопоставления бесполезно (если вы специально не захватываете или не обрабатываете только согласованную часть). – tripleee