Differences between revisions 11 and 24 (spanning 13 versions)
Revision 11 as of 2008-11-22 14:08:55
Size: 1108
Editor: localhost
Comment: converted to 1.6 markup
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:

{{{
   #POSIX, but fails if the variable contains newlines
   read -r var << EOF
   $var
   EOF
}}}

One can also achieve in bash using a herestring
{{{
   # Bash still fails if the variable contains a newline.
   read -r x <<< "$x"
}}}

(note: using IFS=$' \t' read -d "" -r x partially fix the "problem" of the newlines but adds a trailing \n)

There's also 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, using sed for instance:
{{{
   # POSIX, suppress the trailing and leading whitespace on every lines
   x=$(echo "$x" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
}}}

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)