Differences between revisions 4 and 24 (spanning 20 versions)
Revision 4 as of 2008-05-21 20:52:00
Size: 1195
Editor: GreyCat
Comment: clean up
Revision 24 as of 2016-05-07 04:12:19
Size: 416
Editor: DelorisDem
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[[Anchor(faq67)]]
== How can I trim leading/trailing white space from one of my variables? ==
There are a few ways to do this -- none of them elegant.

First, the most portable way would be to use `sed`:

{{{
   # POSIX
   x=$(echo "$x" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
}}}

One can also achieve the same goal using Bash builtins:

{{{
   # Bash
   # Remove leading whitespace:
   while [[ $x = [[:space:]]* ]]; do x=${x#[[:space:]]}; done

   # And now trailing:
   while [[ $x = *[[:space:]] ]]; do x=${x%[[:space:]]}; done
}}}

Of course, the preceding example is not optimal, because it removes one character at a time, in a loop (although it's good enough in practice for most purposes). If you want something a bit fancier, there's a solution using [:glob:extglob]:

{{{
   # Bash
   shopt -s extglob
   x=${x##+([[:space:]])} x=${x%%+([[:space:]])}
   shopt -u extglob
}}}

This also works in KornShell, without needing the explicit `extglob` setting:

{{{
   # ksh
   x=${x##+([[:space:]])} x=${x%%+([[:space:]])}
}}}

There are many, many other ways to do this. These are not necessarily the best, but they're known to work.
My name is Valentine. Alaska is where my house is. Fencing is the only pastime her partner doesn't authorize of. After running out his job for several years he ended up being a hotel receptionist. Have a look at the most recent news on my site: https://www.youtube.com/watch?v=S6joRgSfOxA<<BR>><<BR>>
<<BR>><<BR>>
Here is my web blog: [[https://www.youtube.com/watch?v=S6joRgSfOxA|Rejuvenate with Dr. Marks]]

My name is Valentine. Alaska is where my house is. Fencing is the only pastime her partner doesn't authorize of. After running out his job for several years he ended up being a hotel receptionist. Have a look at the most recent news on my site: https://www.youtube.com/watch?v=S6joRgSfOxA<<BR>><<BR>>

Here is my web blog: Rejuvenate with Dr. Marks

BashFAQ/067 (last edited 2018-11-29 15:32:42 by GreyCat)