Linux 如何从模板转换字符串?

Linux 如何从模板转换字符串?,linux,bash,shell,Linux,Bash,Shell,有几行: echo "1111111111111; 2222222222; 8; 2; 34,12,2,3,5,1; UNKNOW;" 或 或 如何获取注释中最后一个字符“;”和最后一个逗号“,”的值?在检索第5个字段时,您展示了一个令人满意的解决方案。这也有可能与 echo "${line}" | cut -d ";" -f5 在评论中,您显示了一个解决方案,该解决方案可以满足您检索第5个字段的需要。这也有可能与 echo "${line}" | cut -d ";" -f5 使用awk

有几行:

echo "1111111111111; 2222222222; 8; 2; 34,12,2,3,5,1; UNKNOW;"


如何获取注释中最后一个字符“;”和最后一个逗号“,”的值?

在检索第5个字段时,您展示了一个令人满意的解决方案。这也有可能与

echo "${line}" | cut -d ";" -f5

在评论中,您显示了一个解决方案,该解决方案可以满足您检索第5个字段的需要。这也有可能与

echo "${line}" | cut -d ";" -f5

使用
awk
-F
参数表示字段分隔符/分隔符,
$5
-第五个字段由
-F
参数中定义的分隔符分隔:

$ echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | awk -F';' '{print $5}'
3,1
$ echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | cut -d ';' -f5
3,1

使用
cut
-d
参数表示字段分隔符/分隔符,
-f5
-第五个字段由
-d
参数中定义的分隔符分隔:

$ echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | awk -F';' '{print $5}'
3,1
$ echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | cut -d ';' -f5
3,1

断章取义,但您可以使用它从字符串中获取一些字符:
-c1,2,3,25-30
-剪切字符1,2,3,25,26,27,28,29,30

echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | cut -c1,2,3,25-30
111;8;2;3

使用
awk
-F
参数表示字段分隔符/分隔符,
$5
-第五个字段由
-F
参数中定义的分隔符分隔:

$ echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | awk -F';' '{print $5}'
3,1
$ echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | cut -d ';' -f5
3,1

使用
cut
-d
参数表示字段分隔符/分隔符,
-f5
-第五个字段由
-d
参数中定义的分隔符分隔:

$ echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | awk -F';' '{print $5}'
3,1
$ echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | cut -d ';' -f5
3,1

断章取义,但您可以使用它从字符串中获取一些字符:
-c1,2,3,25-30
-剪切字符1,2,3,25,26,27,28,29,30

echo "1111111111111;2222222222;8;2;3,1;UNKNOW;" | cut -c1,2,3,25-30
111;8;2;3

您希望从字符串中提取什么?最后一个字符“;”和最后一个逗号“,”后包含的值。示例:echo“1111111111;2222222;8,2,34,12,2,3,5,1,5,12,45,34;未知”;需要获得“8,2,34,12,2,3,5,1,5,12,45,34”的值,使用“代码切割”分割字符串和
并分别选择正确的字段。然后你可以把两个输出连接成一个。如果你通过AWK转换成一个数组并作为数组元素输出?什么会更快?我找到了解决办法!但不太明白它是如何工作的:echo“1111111111;2222222;8;2;3,1;UNKNOW;”| awk-F''{print$5}'3,1您想从字符串中提取什么?最后一个字符“;”和最后一个逗号“,”后面包含的值。示例:echo“1111111111;2222222;8,2,34,12,2,3,5,1,5,12,45,34;未知”;需要获得“8,2,34,12,2,3,5,1,5,12,45,34”的值,使用“代码切割”分割字符串和
并分别选择正确的字段。然后你可以把两个输出连接成一个。如果你通过AWK转换成一个数组并作为数组元素输出?什么会更快?我找到了解决办法!但不太明白它是如何工作的:echo“1111111111;2222222;8;2;3,1;UNKNOW;”| awk-F''{打印$5}'3,1