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

前端 未结 5 809
一向
一向 2021-02-07 05:48

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


        
相关标签:
5条回答
  • 2021-02-07 05:51

    Try this:-

      echo "first second third etc"|cut -d " " -f2-
    
    0 讨论(0)
  • 2021-02-07 05:54

    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-
    
    0 讨论(0)
  • 2021-02-07 05:55

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

    $ foo="a b c d"
    $ echo "${foo#* }"
    b c d
    
    0 讨论(0)
  • 2021-02-07 06:03

    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#* }
    
    0 讨论(0)
  • 2021-02-07 06:11

    You can do:

    echo "first second third etc" | cut -d " " -f2-
    >> second third etc
    
    0 讨论(0)
提交回复
热议问题