Как я должен удалить одно слово перед разделителем использованием sed
Удалить одно единственное слово перед разделителем с помощью СЭД
Для например, если вход hello I am eating: mango
и разделитель :
вывод должен быть hello I am : mango
Как я должен удалить одно слово перед разделителем использованием sed
Удалить одно единственное слово перед разделителем с помощью СЭД
Для например, если вход hello I am eating: mango
и разделитель :
вывод должен быть hello I am : mango
kent$ sed 's/[^:[:space:]]*:/:/' <<<"hello I am eating: mango"
hello I am : mango
СЭД один вкладыш, изменяет первую foo:
в :
Существует одна проблема: для строки ввода' sed 's/[^: [: space:]] *: /: /' << "eat:" 'возвращает пустую строку , Однако, если пространства нет, строка должна оставаться как есть. Пожалуйста, помогите с этим. – prabodhprakash
это новое требование ... Я подумаю об этом, когда у меня найдется время. – Kent
не 'СЭД бы«ы/[AZ] +:/:/g 'file' сделать это за вас? P.S использовать 'sed -E', если mac – ComputerFellow
@ComputerFellow нет, он не будет. по умолчанию sed применяет BRE, ваш '+' является буквальным знаком «плюс», он ничего не соответствует в примере OP. также, если бы слово имело '[A-Z]', оно тоже потерпит неудачу. – Kent
Работает с опцией '-E' – ComputerFellow