Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 在指定模式(逗号)后剪切字符串_Shell_Unix_Cut - Fatal编程技术网

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-`
回声$a
b、 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”|…