【问题标题】:How can I remove the first part of a string in Bash?如何在 Bash 中删除字符串的第一部分?
【发布时间】:2012-11-27 02:40:54
【问题描述】:

这段代码将给出第一部分,但我怎样才能删除它并在没有第一部分的情况下获取整个字符串?

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

【问题讨论】:

标签: bash shell


【解决方案1】:

您应该看看info cut,它会解释f1 的含义。

实际上,我们只需要第二个字段之后的字段。 -f 告诉命令按字段搜索,2- 表示第二个和后面的字段。

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

【讨论】:

    【解决方案2】:

    您可以为此使用substring removal。不需要任何外部工具:

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

    【讨论】:

      【解决方案3】:

      你可以这样做:

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

      【讨论】:

        【解决方案4】:

        尝试这样做:

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

        里面有解释

         man cut | less +/N-
        

        N- 从第 N 个字节、字符或字段到行尾

        到目前为止,你有Bash tag,你可以像这样使用Bash parameter expansion

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

        【讨论】:

          【解决方案5】:

          试试这个:

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

          【讨论】:

            猜你喜欢
            • 2018-12-07
            • 1970-01-01
            • 2012-09-27
            • 2019-08-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-09-23
            • 1970-01-01
            相关资源
            最近更新 更多