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

avatar
作者
猴君
阅读量:2

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

  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命令使用正则表达式.* \([^ ]*\)$匹配最后一个空格后的内容,并将其提取出来。

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!