Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Как заменить пробелы на один пробел  (Прочитано 1649 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
Добрый день
Подскажите, как заменить заранее неизвестное кол-во пробелов на один пробел в шеле

пример:
Цитировать
11  22    333  444        5555

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Как заменить пробелы на один пробел
« Ответ #1 : 25 Февраля 2015, 18:55:05 »
echo "    11  22    333  444        5555" | sed -E "s/[[:space:]]+/ /g"
Wars ~.o

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
Re: Как заменить пробелы на один пробел
« Ответ #2 : 25 Февраля 2015, 19:07:35 »
Надо было -E большое указать.. млин..

Спасибо большое

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Как заменить пробелы на один пробел
« Ответ #3 : 25 Февраля 2015, 19:26:14 »
просто гуглю - "sed space only"
Wars ~.o

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Как заменить пробелы на один пробел
« Ответ #4 : 26 Февраля 2015, 01:15:24 »
Надо было -E большое указать.. млин..
"-Е" опция для Мас’ов, родное GNU’шное "-r" (и то, только для того, чтоб не экранировать "+"):sed 's/\s\s\+/ /g'илиsed 's/\s\{2,\}/ /g'имеет смысл менять сдвоенные, строенные и т.д. пробелы, хотя замена пробелов на самого себя ничего не поменяет, только зачем нагружать систему пустой работой?
В Linux можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3271
    • Просмотр профиля
Re: Как заменить пробелы на один пробел
« Ответ #5 : 26 Февраля 2015, 09:19:08 »
tr -s " " <infile >outfile
Пётр.

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.