用于获取字段动态值的Shell脚本

时间:2016-10-04 07:08:59

标签: shell

我有一个包含内容的输出文件:

S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
29.43   0.00  12.19  37.06  59.67  23968   42.189 375851 1785.339 1827.528 CMS Final Remark     No GC

我只需要提取最后两个字段.LGCC和GCC。 但这些值是动态生成的。所以不能通过界限空间来接触它们。我怎样才能得到这两个值?什么是价值观?

输出应为:

LGCC                 GCC
CMS Final Remark     No GC

请建议

2 个答案:

答案 0 :(得分:0)

也许这可以帮到你

awk '{for(i=11;i<=NF;i++){printf "%s ", $i}; printf "\n"}' yourFile

实例;

user@host:/tmp$ awk '{for(i=11;i<=NF;i++){printf "%s ", $i}; printf "\n"}' t1
LGCC GCC 
CMS Final Remark No GC 

答案 1 :(得分:0)

这是关于标题行的列数的参考。休息它会删除前两列除了前两列。 sed用于删除由于删除少量列而导致的空格。

awk 'NR==1{x=NF-1;} NR!=1{for(i=1;i<(x);i++) $i="" } NR!=1{print $0}' infile|sed "s/^[ \t]*//"
CMS Final Remark No GC