温馨提示×

怎么用shell取某个字符串后面的内容

小亿
791
2023-10-09 07:57:41
栏目: 编程语言

可以使用以下几种方法来获取字符串中某个位置后面的内容:

  1. 使用cut命令
str="Hello World"
suffix=$(echo $str | cut -d' ' -f2)
echo $suffix

输出:

World

上述命令中,cut命令以空格作为分隔符(-d' '),并选取第二个字段(-f2),将其赋值给变量suffix

  1. 使用awk命令
str="Hello World"
suffix=$(echo $str | awk '{print $2}')
echo $suffix

输出:

World

上述命令中,awk命令以空格作为分隔符,默认以空格分隔输入行,并输出第二个字段。

  1. 使用sed命令
str="Hello World"
suffix=$(echo $str | sed 's/[^ ]* //')
echo $suffix

输出:

World

上述命令中,sed命令使用正则表达式[^ ]*匹配第一个空格前的任意字符,并将其替换为空字符串,从而得到剩下的内容。

  1. 使用expr命令
str="Hello World"
suffix=$(expr "$str" : '.* \([^ ]*\)$')
echo $suffix

输出:

World

上述命令中,expr命令使用正则表达式.* \([^ ]*\)$匹配最后一个空格后的内容,并将其提取出来。

以上是一些常见的方法,根据具体情况选择合适的方式来提取字符串中某个位置后面的内容。

0