Shell 在指定模式(逗号)后剪切字符串
我想剪切一个字符串,并在第一次出现逗号后将其分配给变量Shell 在指定模式(逗号)后剪切字符串,shell,unix,cut,Shell,Unix,Cut,我想剪切一个字符串,并在第一次出现逗号后将其分配给变量 my_string="a,b,c,d,e,f" 预期产出: output="b,c,d,e,f" 当我使用命令时 output=`echo $my_string | cut -d ',' f2 我只得到了b作为输出。你必须在你要找的位置后面加上减号(-) a=`echo $my_string|cut -d "," -f 2-` 回声$a b、 c、d、e、f 将破折号“-”添加到-f2的末尾将输出字符串的其余部分 $ echo "a
my_string="a,b,c,d,e,f"
预期产出:
output="b,c,d,e,f"
当我使用命令时
output=`echo $my_string | cut -d ',' f2
我只得到了
b
作为输出。你必须在你要找的位置后面加上减号(-)
a=`echo $my_string|cut -d "," -f 2-`
回声$ab、 c、d、e、f
将破折号“-”添加到-f2的末尾将输出字符串的其余部分
$ echo "a,b,c,d,e,f,g"|cut -d, -f2-
b,c,d,e,f,g
使用参数扩展而不是
剪切
:
$ my_string="a,b,c,d,e,f"
$ output="${my_string#*,}"
$ echo "$output"
b,c,d,e,f
${my_string#*,}
代表“从my_string
(请参阅)中删除包括第一个逗号在内的所有内容”。这是因为-f
可以获取字段的范围,如果不给出范围的结尾,该范围将持续到最后一个字段。--<代码>回显“$my_string”|…