Bash remove first and last characters from a string
I have a string like that:
|abcdefg|
And I want to get a new string called in someway (like string2) with the original string without the two |
characters at the start and at the end of it so that I will have this:
abcdefg
Is that possible in bash?
bash command-line scripts
add a comment |
I have a string like that:
|abcdefg|
And I want to get a new string called in someway (like string2) with the original string without the two |
characters at the start and at the end of it so that I will have this:
abcdefg
Is that possible in bash?
bash command-line scripts
add a comment |
I have a string like that:
|abcdefg|
And I want to get a new string called in someway (like string2) with the original string without the two |
characters at the start and at the end of it so that I will have this:
abcdefg
Is that possible in bash?
bash command-line scripts
I have a string like that:
|abcdefg|
And I want to get a new string called in someway (like string2) with the original string without the two |
characters at the start and at the end of it so that I will have this:
abcdefg
Is that possible in bash?
bash command-line scripts
bash command-line scripts
edited 13 mins ago
Guy Avraham
1156
1156
asked Dec 23 '11 at 14:29
Matteo PagliazziMatteo Pagliazzi
1,28251733
1,28251733
add a comment |
add a comment |
8 Answers
8
active
oldest
votes
You can do
string="|abcdefg|"
string2=${string#"|"}
string2=${string2%"|"}
echo $string2
Or if your string length is constant, you can do
string="|abcdefg|"
string2=${string:1:7}
echo $string2
Also, this should work
echo "|abcdefg|" | cut -d "|" -f 2
Also this
echo "|abcdefg|" | sed 's/^|(.*)|$/1/'
2
and alsoawk -F| '{ print $2 }' <<<"|string|"
– enzotib
Dec 23 '11 at 17:45
1
@enzotib You always have coolawk
solutions. I need to learnawk
.
– Kris Harper
Dec 23 '11 at 18:36
2
and alsoIFS='|' read string2 <<< $string
:)
– arrange
Dec 23 '11 at 20:38
9
and also, in bash 4.2 and newer,"${string:1:-1}"
– geirha
Jul 5 '12 at 12:52
Read under the "parameter expansion" section inman bash
.
– Nemo
Sep 5 '12 at 20:44
add a comment |
Here's a solution that is independent of the length of the string (bash):
string="|abcdefg|"
echo "${string:1:${#string}-2}"
add a comment |
Going off a few posts listed here it seems the simplest way to do it is:
string="|abcdefg|"
echo ${string:1:-1}
edit: works on ubuntu with bash 4.2; does not work on centOS with bash 4.1
add a comment |
Another way is to use head
& tail
commands:
$ echo -n "|abcdefg|" | tail -c +2 | head -c -2
abcdefg
1
I had a string of[something something]
with a goal to cut brackets, soecho "[something something]" | tail -c +2 | head -c -2
worked out. Thanks for a tip!
– Ain Tohvri
Dec 13 '15 at 15:36
add a comment |
And another one:
string="|abcdefg|"
echo "${string//|/}"
add a comment |
You can also use sed to remove the | not just referencing the symbol itself but using positional references as in:
$ echo "|abcdefg|" | sed 's:^.(.*).$:1:'
abcdefg
Where ':' are the delimiters (you can replace them with / or any character not in the query, any sign following the s will do it) Here ^ (caret) means at the beginning of the input string and $ (dollar) means at the end. The . (point) that it's after the caret and the one that it's before the dollar sign represents a single character. So in other words we are deleting the first and last characters.
Take in mind this will delete any characters even if | it's not present in the string.
EX:
$ echo "abcdefg" | sed 's:^.(.*).$:1:'
bcdef
add a comment |
shell function
A bit more verbose approach, but works on any sort of first and last character, doesn't have to be the same. Basic idea is that we are taking a variable, reading it character by character, and appending only those
we want to a new variable
Here's that whole idea formatted into a nice function
crop_string_ends() {
STR="$1"
NEWSTR=""
COUNT=0
while read -n 1 CHAR
do
COUNT=$(($COUNT+1))
if [ $COUNT -eq 1 ] || [ $COUNT -eq ${#STR} ]
then
continue
fi
NEWSTR="$NEWSTR"$CHAR
done <<<"$STR"
echo $NEWSTR
}
And here is that same function in action:
$> crop_string_ends "|abcdefg|"
abcdefg
$> crop_string_ends "HelloWorld"
elloWorl
Python
>>> mystring="|abcdefg|"
>>> print(mystring[1:-1])
abcdefg
or on command line:
$ python -c 'import sys;print sys.stdin.read()[1:-2]' <<< "|abcdefg|"
abcdefg
AWK
$ echo "|abcdefg|" | awk '{print substr($0,2,length($0)-2)}'
abcdefg
Ruby
$ ruby -ne 'print $_.split("|")[1]' <<< "|abcdefg|"
abcdefg
add a comment |
Small and universal solution:
expr "|abcdef|" : '.(.*).'
Special in this case and allowing that the '|' character may be there or not:
expr "|abcdef" : '|*([^|]*)|*'
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f89995%2fbash-remove-first-and-last-characters-from-a-string%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
8 Answers
8
active
oldest
votes
8 Answers
8
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can do
string="|abcdefg|"
string2=${string#"|"}
string2=${string2%"|"}
echo $string2
Or if your string length is constant, you can do
string="|abcdefg|"
string2=${string:1:7}
echo $string2
Also, this should work
echo "|abcdefg|" | cut -d "|" -f 2
Also this
echo "|abcdefg|" | sed 's/^|(.*)|$/1/'
2
and alsoawk -F| '{ print $2 }' <<<"|string|"
– enzotib
Dec 23 '11 at 17:45
1
@enzotib You always have coolawk
solutions. I need to learnawk
.
– Kris Harper
Dec 23 '11 at 18:36
2
and alsoIFS='|' read string2 <<< $string
:)
– arrange
Dec 23 '11 at 20:38
9
and also, in bash 4.2 and newer,"${string:1:-1}"
– geirha
Jul 5 '12 at 12:52
Read under the "parameter expansion" section inman bash
.
– Nemo
Sep 5 '12 at 20:44
add a comment |
You can do
string="|abcdefg|"
string2=${string#"|"}
string2=${string2%"|"}
echo $string2
Or if your string length is constant, you can do
string="|abcdefg|"
string2=${string:1:7}
echo $string2
Also, this should work
echo "|abcdefg|" | cut -d "|" -f 2
Also this
echo "|abcdefg|" | sed 's/^|(.*)|$/1/'
2
and alsoawk -F| '{ print $2 }' <<<"|string|"
– enzotib
Dec 23 '11 at 17:45
1
@enzotib You always have coolawk
solutions. I need to learnawk
.
– Kris Harper
Dec 23 '11 at 18:36
2
and alsoIFS='|' read string2 <<< $string
:)
– arrange
Dec 23 '11 at 20:38
9
and also, in bash 4.2 and newer,"${string:1:-1}"
– geirha
Jul 5 '12 at 12:52
Read under the "parameter expansion" section inman bash
.
– Nemo
Sep 5 '12 at 20:44
add a comment |
You can do
string="|abcdefg|"
string2=${string#"|"}
string2=${string2%"|"}
echo $string2
Or if your string length is constant, you can do
string="|abcdefg|"
string2=${string:1:7}
echo $string2
Also, this should work
echo "|abcdefg|" | cut -d "|" -f 2
Also this
echo "|abcdefg|" | sed 's/^|(.*)|$/1/'
You can do
string="|abcdefg|"
string2=${string#"|"}
string2=${string2%"|"}
echo $string2
Or if your string length is constant, you can do
string="|abcdefg|"
string2=${string:1:7}
echo $string2
Also, this should work
echo "|abcdefg|" | cut -d "|" -f 2
Also this
echo "|abcdefg|" | sed 's/^|(.*)|$/1/'
edited Dec 23 '11 at 18:36
answered Dec 23 '11 at 14:49
Kris HarperKris Harper
9,689114771
9,689114771
2
and alsoawk -F| '{ print $2 }' <<<"|string|"
– enzotib
Dec 23 '11 at 17:45
1
@enzotib You always have coolawk
solutions. I need to learnawk
.
– Kris Harper
Dec 23 '11 at 18:36
2
and alsoIFS='|' read string2 <<< $string
:)
– arrange
Dec 23 '11 at 20:38
9
and also, in bash 4.2 and newer,"${string:1:-1}"
– geirha
Jul 5 '12 at 12:52
Read under the "parameter expansion" section inman bash
.
– Nemo
Sep 5 '12 at 20:44
add a comment |
2
and alsoawk -F| '{ print $2 }' <<<"|string|"
– enzotib
Dec 23 '11 at 17:45
1
@enzotib You always have coolawk
solutions. I need to learnawk
.
– Kris Harper
Dec 23 '11 at 18:36
2
and alsoIFS='|' read string2 <<< $string
:)
– arrange
Dec 23 '11 at 20:38
9
and also, in bash 4.2 and newer,"${string:1:-1}"
– geirha
Jul 5 '12 at 12:52
Read under the "parameter expansion" section inman bash
.
– Nemo
Sep 5 '12 at 20:44
2
2
and also
awk -F| '{ print $2 }' <<<"|string|"
– enzotib
Dec 23 '11 at 17:45
and also
awk -F| '{ print $2 }' <<<"|string|"
– enzotib
Dec 23 '11 at 17:45
1
1
@enzotib You always have cool
awk
solutions. I need to learn awk
.– Kris Harper
Dec 23 '11 at 18:36
@enzotib You always have cool
awk
solutions. I need to learn awk
.– Kris Harper
Dec 23 '11 at 18:36
2
2
and also
IFS='|' read string2 <<< $string
:)– arrange
Dec 23 '11 at 20:38
and also
IFS='|' read string2 <<< $string
:)– arrange
Dec 23 '11 at 20:38
9
9
and also, in bash 4.2 and newer,
"${string:1:-1}"
– geirha
Jul 5 '12 at 12:52
and also, in bash 4.2 and newer,
"${string:1:-1}"
– geirha
Jul 5 '12 at 12:52
Read under the "parameter expansion" section in
man bash
.– Nemo
Sep 5 '12 at 20:44
Read under the "parameter expansion" section in
man bash
.– Nemo
Sep 5 '12 at 20:44
add a comment |
Here's a solution that is independent of the length of the string (bash):
string="|abcdefg|"
echo "${string:1:${#string}-2}"
add a comment |
Here's a solution that is independent of the length of the string (bash):
string="|abcdefg|"
echo "${string:1:${#string}-2}"
add a comment |
Here's a solution that is independent of the length of the string (bash):
string="|abcdefg|"
echo "${string:1:${#string}-2}"
Here's a solution that is independent of the length of the string (bash):
string="|abcdefg|"
echo "${string:1:${#string}-2}"
edited Jul 5 '12 at 12:44
Eliah Kagan
82.7k22227369
82.7k22227369
answered Dec 24 '11 at 16:28
Samus_Samus_
77257
77257
add a comment |
add a comment |
Going off a few posts listed here it seems the simplest way to do it is:
string="|abcdefg|"
echo ${string:1:-1}
edit: works on ubuntu with bash 4.2; does not work on centOS with bash 4.1
add a comment |
Going off a few posts listed here it seems the simplest way to do it is:
string="|abcdefg|"
echo ${string:1:-1}
edit: works on ubuntu with bash 4.2; does not work on centOS with bash 4.1
add a comment |
Going off a few posts listed here it seems the simplest way to do it is:
string="|abcdefg|"
echo ${string:1:-1}
edit: works on ubuntu with bash 4.2; does not work on centOS with bash 4.1
Going off a few posts listed here it seems the simplest way to do it is:
string="|abcdefg|"
echo ${string:1:-1}
edit: works on ubuntu with bash 4.2; does not work on centOS with bash 4.1
edited Oct 16 '12 at 16:32
answered Sep 5 '12 at 20:37
jlunavtgradjlunavtgrad
33924
33924
add a comment |
add a comment |
Another way is to use head
& tail
commands:
$ echo -n "|abcdefg|" | tail -c +2 | head -c -2
abcdefg
1
I had a string of[something something]
with a goal to cut brackets, soecho "[something something]" | tail -c +2 | head -c -2
worked out. Thanks for a tip!
– Ain Tohvri
Dec 13 '15 at 15:36
add a comment |
Another way is to use head
& tail
commands:
$ echo -n "|abcdefg|" | tail -c +2 | head -c -2
abcdefg
1
I had a string of[something something]
with a goal to cut brackets, soecho "[something something]" | tail -c +2 | head -c -2
worked out. Thanks for a tip!
– Ain Tohvri
Dec 13 '15 at 15:36
add a comment |
Another way is to use head
& tail
commands:
$ echo -n "|abcdefg|" | tail -c +2 | head -c -2
abcdefg
Another way is to use head
& tail
commands:
$ echo -n "|abcdefg|" | tail -c +2 | head -c -2
abcdefg
edited Jan 11 at 21:26
agabrys
1034
1034
answered Nov 26 '13 at 16:16
ZaviorZavior
25124
25124
1
I had a string of[something something]
with a goal to cut brackets, soecho "[something something]" | tail -c +2 | head -c -2
worked out. Thanks for a tip!
– Ain Tohvri
Dec 13 '15 at 15:36
add a comment |
1
I had a string of[something something]
with a goal to cut brackets, soecho "[something something]" | tail -c +2 | head -c -2
worked out. Thanks for a tip!
– Ain Tohvri
Dec 13 '15 at 15:36
1
1
I had a string of
[something something]
with a goal to cut brackets, so echo "[something something]" | tail -c +2 | head -c -2
worked out. Thanks for a tip!– Ain Tohvri
Dec 13 '15 at 15:36
I had a string of
[something something]
with a goal to cut brackets, so echo "[something something]" | tail -c +2 | head -c -2
worked out. Thanks for a tip!– Ain Tohvri
Dec 13 '15 at 15:36
add a comment |
And another one:
string="|abcdefg|"
echo "${string//|/}"
add a comment |
And another one:
string="|abcdefg|"
echo "${string//|/}"
add a comment |
And another one:
string="|abcdefg|"
echo "${string//|/}"
And another one:
string="|abcdefg|"
echo "${string//|/}"
edited Jul 18 '12 at 15:06
answered Jun 9 '12 at 1:03
Steven PennySteven Penny
1
1
add a comment |
add a comment |
You can also use sed to remove the | not just referencing the symbol itself but using positional references as in:
$ echo "|abcdefg|" | sed 's:^.(.*).$:1:'
abcdefg
Where ':' are the delimiters (you can replace them with / or any character not in the query, any sign following the s will do it) Here ^ (caret) means at the beginning of the input string and $ (dollar) means at the end. The . (point) that it's after the caret and the one that it's before the dollar sign represents a single character. So in other words we are deleting the first and last characters.
Take in mind this will delete any characters even if | it's not present in the string.
EX:
$ echo "abcdefg" | sed 's:^.(.*).$:1:'
bcdef
add a comment |
You can also use sed to remove the | not just referencing the symbol itself but using positional references as in:
$ echo "|abcdefg|" | sed 's:^.(.*).$:1:'
abcdefg
Where ':' are the delimiters (you can replace them with / or any character not in the query, any sign following the s will do it) Here ^ (caret) means at the beginning of the input string and $ (dollar) means at the end. The . (point) that it's after the caret and the one that it's before the dollar sign represents a single character. So in other words we are deleting the first and last characters.
Take in mind this will delete any characters even if | it's not present in the string.
EX:
$ echo "abcdefg" | sed 's:^.(.*).$:1:'
bcdef
add a comment |
You can also use sed to remove the | not just referencing the symbol itself but using positional references as in:
$ echo "|abcdefg|" | sed 's:^.(.*).$:1:'
abcdefg
Where ':' are the delimiters (you can replace them with / or any character not in the query, any sign following the s will do it) Here ^ (caret) means at the beginning of the input string and $ (dollar) means at the end. The . (point) that it's after the caret and the one that it's before the dollar sign represents a single character. So in other words we are deleting the first and last characters.
Take in mind this will delete any characters even if | it's not present in the string.
EX:
$ echo "abcdefg" | sed 's:^.(.*).$:1:'
bcdef
You can also use sed to remove the | not just referencing the symbol itself but using positional references as in:
$ echo "|abcdefg|" | sed 's:^.(.*).$:1:'
abcdefg
Where ':' are the delimiters (you can replace them with / or any character not in the query, any sign following the s will do it) Here ^ (caret) means at the beginning of the input string and $ (dollar) means at the end. The . (point) that it's after the caret and the one that it's before the dollar sign represents a single character. So in other words we are deleting the first and last characters.
Take in mind this will delete any characters even if | it's not present in the string.
EX:
$ echo "abcdefg" | sed 's:^.(.*).$:1:'
bcdef
answered Feb 8 '12 at 1:44
MetafanielMetafaniel
1893
1893
add a comment |
add a comment |
shell function
A bit more verbose approach, but works on any sort of first and last character, doesn't have to be the same. Basic idea is that we are taking a variable, reading it character by character, and appending only those
we want to a new variable
Here's that whole idea formatted into a nice function
crop_string_ends() {
STR="$1"
NEWSTR=""
COUNT=0
while read -n 1 CHAR
do
COUNT=$(($COUNT+1))
if [ $COUNT -eq 1 ] || [ $COUNT -eq ${#STR} ]
then
continue
fi
NEWSTR="$NEWSTR"$CHAR
done <<<"$STR"
echo $NEWSTR
}
And here is that same function in action:
$> crop_string_ends "|abcdefg|"
abcdefg
$> crop_string_ends "HelloWorld"
elloWorl
Python
>>> mystring="|abcdefg|"
>>> print(mystring[1:-1])
abcdefg
or on command line:
$ python -c 'import sys;print sys.stdin.read()[1:-2]' <<< "|abcdefg|"
abcdefg
AWK
$ echo "|abcdefg|" | awk '{print substr($0,2,length($0)-2)}'
abcdefg
Ruby
$ ruby -ne 'print $_.split("|")[1]' <<< "|abcdefg|"
abcdefg
add a comment |
shell function
A bit more verbose approach, but works on any sort of first and last character, doesn't have to be the same. Basic idea is that we are taking a variable, reading it character by character, and appending only those
we want to a new variable
Here's that whole idea formatted into a nice function
crop_string_ends() {
STR="$1"
NEWSTR=""
COUNT=0
while read -n 1 CHAR
do
COUNT=$(($COUNT+1))
if [ $COUNT -eq 1 ] || [ $COUNT -eq ${#STR} ]
then
continue
fi
NEWSTR="$NEWSTR"$CHAR
done <<<"$STR"
echo $NEWSTR
}
And here is that same function in action:
$> crop_string_ends "|abcdefg|"
abcdefg
$> crop_string_ends "HelloWorld"
elloWorl
Python
>>> mystring="|abcdefg|"
>>> print(mystring[1:-1])
abcdefg
or on command line:
$ python -c 'import sys;print sys.stdin.read()[1:-2]' <<< "|abcdefg|"
abcdefg
AWK
$ echo "|abcdefg|" | awk '{print substr($0,2,length($0)-2)}'
abcdefg
Ruby
$ ruby -ne 'print $_.split("|")[1]' <<< "|abcdefg|"
abcdefg
add a comment |
shell function
A bit more verbose approach, but works on any sort of first and last character, doesn't have to be the same. Basic idea is that we are taking a variable, reading it character by character, and appending only those
we want to a new variable
Here's that whole idea formatted into a nice function
crop_string_ends() {
STR="$1"
NEWSTR=""
COUNT=0
while read -n 1 CHAR
do
COUNT=$(($COUNT+1))
if [ $COUNT -eq 1 ] || [ $COUNT -eq ${#STR} ]
then
continue
fi
NEWSTR="$NEWSTR"$CHAR
done <<<"$STR"
echo $NEWSTR
}
And here is that same function in action:
$> crop_string_ends "|abcdefg|"
abcdefg
$> crop_string_ends "HelloWorld"
elloWorl
Python
>>> mystring="|abcdefg|"
>>> print(mystring[1:-1])
abcdefg
or on command line:
$ python -c 'import sys;print sys.stdin.read()[1:-2]' <<< "|abcdefg|"
abcdefg
AWK
$ echo "|abcdefg|" | awk '{print substr($0,2,length($0)-2)}'
abcdefg
Ruby
$ ruby -ne 'print $_.split("|")[1]' <<< "|abcdefg|"
abcdefg
shell function
A bit more verbose approach, but works on any sort of first and last character, doesn't have to be the same. Basic idea is that we are taking a variable, reading it character by character, and appending only those
we want to a new variable
Here's that whole idea formatted into a nice function
crop_string_ends() {
STR="$1"
NEWSTR=""
COUNT=0
while read -n 1 CHAR
do
COUNT=$(($COUNT+1))
if [ $COUNT -eq 1 ] || [ $COUNT -eq ${#STR} ]
then
continue
fi
NEWSTR="$NEWSTR"$CHAR
done <<<"$STR"
echo $NEWSTR
}
And here is that same function in action:
$> crop_string_ends "|abcdefg|"
abcdefg
$> crop_string_ends "HelloWorld"
elloWorl
Python
>>> mystring="|abcdefg|"
>>> print(mystring[1:-1])
abcdefg
or on command line:
$ python -c 'import sys;print sys.stdin.read()[1:-2]' <<< "|abcdefg|"
abcdefg
AWK
$ echo "|abcdefg|" | awk '{print substr($0,2,length($0)-2)}'
abcdefg
Ruby
$ ruby -ne 'print $_.split("|")[1]' <<< "|abcdefg|"
abcdefg
edited Dec 24 '16 at 21:14
answered Apr 6 '16 at 13:58
Sergiy KolodyazhnyySergiy Kolodyazhnyy
74.3k9155324
74.3k9155324
add a comment |
add a comment |
Small and universal solution:
expr "|abcdef|" : '.(.*).'
Special in this case and allowing that the '|' character may be there or not:
expr "|abcdef" : '|*([^|]*)|*'
add a comment |
Small and universal solution:
expr "|abcdef|" : '.(.*).'
Special in this case and allowing that the '|' character may be there or not:
expr "|abcdef" : '|*([^|]*)|*'
add a comment |
Small and universal solution:
expr "|abcdef|" : '.(.*).'
Special in this case and allowing that the '|' character may be there or not:
expr "|abcdef" : '|*([^|]*)|*'
Small and universal solution:
expr "|abcdef|" : '.(.*).'
Special in this case and allowing that the '|' character may be there or not:
expr "|abcdef" : '|*([^|]*)|*'
edited Jul 8 '17 at 23:37
answered Jul 8 '17 at 23:29
Tosi DoTosi Do
112
112
add a comment |
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f89995%2fbash-remove-first-and-last-characters-from-a-string%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown