Regex, чтобы уменьшить пробелы в файле на 1 - PullRequest
1 голос
/ 07 сентября 2010

У меня есть файл, и я хочу внести в него следующие изменения:

Заменить n последовательных пробелов на n-1 пробелов.

Пример:

Вход:

a b  c   e
fg j    ij k

Выход:

ab c  e
fgj   ijk

Как мне это сделать?

Ответы [ 2 ]

5 голосов
/ 07 сентября 2010

Вы можете сделать это в sed как:

sed  -r -i 's/ ( *)/\1/g' in

Используемое регулярное выражение / ( *)/ ищет пробел, за которым следует ноль или более пробелов.Он запоминает ноль или более пробелов и заменяет все пробелы запомненной частью.

5 голосов
/ 07 сентября 2010

s/ ( *)/$1/g

То есть замените пробел, за которым следует любое количество (включая 0) пробелов, последним числом пробелов.По сути, мы сопоставляем / +/ во время захвата / */.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...