• 使用变量和字符串操作符
  • 可以使用变量和字符串操作符${}来截取最后一个字符串。假设我们有一个字符串"hello world",我们可以使用以下命令截取最后一个字符串"world":

    str="hello world"
    last_word=${str##* }
    echo $last_word
    

    这里的##表示删除字符串左侧最长的匹配项,表示任意字符。因此,${str## }表示删除字符串中最后一个空格和它左侧的所有字符,保留最后一个空格右侧的字符,即"world"。

  • 使用awk命令
  • 可以使用awk命令来提取最后一个字段。假设我们有一个以逗号分隔的字符串"apple,banana,orange",我们可以使用以下命令提取最后一个字符串"orange":

    str="apple,banana,orange"
    last_word=$(echo $str | awk -F ',' '{print $NF}')
    echo $last_word
    

    这里的-F选项指定字段分隔符为逗号,$NF表示最后一个字段。

  • 使用sed命令
  • 也可以使用sed命令来提取最后一个字段。假设我们有一个以空格分隔的字符串"hello world",我们可以使用以下命令提取最后一个字符串"world":

    str="hello world"
    last_word=$(echo $str | sed 's/.* //')
    echo $last_word
    

    这里的s命令表示替换字符串,".* "表示删除字符串中最后一个空格和它左侧的所有字符,保留最后一个空格右侧的字符,即"world"。

    以上是在Shell中截取最后一个字符串的几种常见方法。

  •