How to remove the first part of a string in bash?

2019-03-18 03:32发布

问题:

This code will give the first part, but how to remove it, and get the whole string without the first part?

echo "first second third etc"|cut -d " " -f1

回答1:

You should have a look at info cut, which will explain what f1 means. Also, a same question here: question-7814205

Actually we just need fields after(and) the second field. -f tells the command to search by field, and 2- means the second and following fields.

echo "first second third etc" | cut -d " " -f2-


回答2:

You can use substring removal for that, no need for external tools:

$ foo="a b c d"
$ echo "${foo#* }"
b c d


回答3:

You can do:

echo "first second third etc" | cut -d " " -f2-
>> second third etc


回答4:

Try doing this :

echo "first second third etc"|cut -d " " -f2-

It's explained in

 man cut | less +/N-

N- from N'th byte, character or field, to end of line

As far of you have the bash tag, you can use bash parameter expansion like this :

x="first second third etc"
echo ${x#* }


回答5:

Try this:-

  echo "first second third etc"|cut -d " " -f2-


标签: bash shell