我想剪切一个字符串,并在第一次出现逗号后将其分配给变量。
my_string="a,b,c,d,e,f"
预期输出:
output="b,c,d,e,f"
当我使用命令
时output=`echo $my_string | cut -d ',' f2
我只获得b
作为输出。
答案 0 :(得分:1)
在-f2的末尾添加短划线' - '将输出字符串的剩余部分。
$ echo "a,b,c,d,e,f,g"|cut -d, -f2-
b,c,d,e,f,g
答案 1 :(得分:1)
使用参数展开而不是cut
:
$ my_string="a,b,c,d,e,f"
$ output="${my_string#*,}"
$ echo "$output"
b,c,d,e,f
${my_string#*,}
代表“删除所有内容,包括my_string
中的第一个逗号”(请参阅Bash manual)。
答案 2 :(得分:0)
您必须在要查找的位置后添加减号( - )。
a=`echo $my_string|cut -d "," -f 2-`
回复$ a
B,C,d,E,F