Как найти более одного пробела и заменить его одним пробелом?

Разрешено иметь только 4 основных раздела. Так было с 1981 года. Причина в том, что стандартная главная загрузочная запись имеет место только для таблицы разделов, содержащей четыре записи.

Расширенные разделы создаются с помощью довольно сложной цепочки загрузочных записей в реальных разделах. Это число теоретически не ограничено, хотя при использовании в DOS/Windows у вас скоро закончатся буквы дисков!

Другим вариантом является использование решения на основе GPT -, которое заменяет основную загрузочную запись. Но сейчас, когда вы создали основной раздел, fdiskпозволит вам заниматься другими делами. Сколько разделов вы хотите?

0
15.05.2019, 03:49
2 ответа

Ошибка вашей команды :sed: -e expression #1, char 10: unterminated 's' command, возможно, из-за отсутствия стандартного вывода.

Попробуйтеsed -e 's/ \+/ /g' myfile.txt > myfile2.txt

Также:https://stackoverflow.com/questions/22939323/sed-command-to-replace-multiple-spaces-into-single-spaces

3
28.01.2020, 02:40

В стандарте sedдля поиска одного или нескольких символов SPC используется следующий синтаксис:

sed 's/ \{1,\}/ /g'

Или

sed 's/  */ /g'

(это два пробела перед звездочкой ). Или сделать его более разборчивым:

sed 's/[ ][ ]*/ /g'

Как только-E(для расширенных регулярных выражений )будет добавлено к стандарту (, что должно произойти в следующем основном выпуске POSIX, многие реализации уже поддерживают его ), вы также можете сделать:

sed -E 's/ +/ /g'

Некоторые реализации sedтакже понимают \+с базовым регулярным выражением (без-E)как псевдоним для \{1,\}.

Но здесь вы можете просто использовать trвместо:

tr -s ' ' < file.in > file.out

To s сожмите пробелы.

2
28.01.2020, 02:40

Теги

Похожие вопросы