Как удалить пробелы из обработанной целевой строки с помощью sed?

117
13

Я выполняю поиск в.cpp файлах и удаляю все после "строки разделителя" вплоть до первого ", используя эту команду sed.

sed -re 's/(GetValue[(])[^,]*,/\1/' *.cpp

Таким образом,...

abc.GetValue(SomeString,      SecondParam);

Становится...

abc.GetValue(      SecondParam);

Вопрос:

Но как удалить эти пробелы в найденных строках, не удаляя все остальные пробелы в файле?

Это удаляет пробелы из всего файла, например sed -re '/(GetValue [(]) [^,] *,/\ 1/; s///g' *.cpp

спросил(а) 2021-01-25T16:56:12+03:00 4 месяца, 4 недели назад
1
Решение
63

Вам просто нужно сопоставить пробелы в шаблоне. Вы уже сопоставляете все остальное.

Просто добавьте * или \s* или все, что соответствует вашему шаблону.

sed -re 's/(GetValue[(])[^,]*, */\1/' *.cpp

ответил(а) 2021-01-25T16:56:12+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема