Как я могу сопоставить пробелы в sed? В моих данных я хочу сопоставить все 3+ последующих пробельных символа (пробел) и заменить их на 2 пробела. Как это может быть сделано?
sed
whitespace
Питер Смит
источник
источник
sed
мне пришлось пользоваться,[[:space:]]
потому\s
что у меня не работало. Возможно ,\s
является GNU СЭД расширение?[[:space:]
можно использовать только те,[[:blank:]]
которые соответствуют горизонтальным табуляциям и пробелам (но не переводят строки, вертикальные табуляции и т. Д.).Это работает на MacOS 10.8:
источник
sed "s/[[:space:]]\+/ /g"
сопоставить один или несколько пробелов.-E
флаг.Некоторые старые версии sed могут не распознавать \ s как токен, соответствующий пустому пространству. В этом случае вы можете сопоставить последовательность из одного или нескольких пробелов и табуляций с '[XZ] [XZ] *', где X - пробел, а Z - табуляция.
источник
источник
sed
любой системы? Если нет, то, возможно, стоит упомянуть, где это работает аналогично другим ответам, просто чтобы мы знали ограничения и где это могло не дать ожидаемого результата.