Friday, July 29, 2022

[SOLVED] How to replace whitespace with one blank using sed?

Issue

Using sed "s/[[:blank:]]*/ /g" a>b doesn't seem to work.


Solution

You need to change the asterisk to a plus sign:

sed "s/[[:blank:]]\+/ /g" a>b

or use an alternative that means the same thing:

sed "s/[[:blank:]][[:blank:]]*/ /g" a>b

or

sed "s/[[:blank:]]\{1,\}/ /g" a>b

Also, it's more helpful to post error messages or precise ways that behavior differs from expectations since "doesn't seem to work" conveys very little information.



Answered By - Dennis Williamson
Answer Checked By - Clifford M. (WPSolving Volunteer)