Use sed to delete all leading/following blank spaces in a text file Use sed to delete all leading/following blank spaces in a text file unix unix

Use sed to delete all leading/following blank spaces in a text file


You almost got it:

sed -e 's/^[ \t]*//;s/[ \t]*$//' a > c

Moreover on some flavours of sed, there is also an option for editing inline:

sed -i -e 's/^[ \t]*//;s/[ \t]*$//' a


easier way, using awk

awk '{$1=$1}1' file

or

awk '{gsub(/^ +|  +$/,"")}1' file


perl -lape 's/^\s+|\s+$//g'

Honestly, I know perl regexps the best, so I find perl -lape much easier to use than sed -e.

Also, to answer the original question, you can have sed execute multiple operations like this:

sed -e 's/something/something else/' -e 's/another substitution/another replacement/'

Apparently you can also put the two substitutions in one string and separate them with a semicolon, as indicated in another answer.