声明:俺只是收集和整理shell版中的问题解决方案,以便学习之用,学习并非原创。在此要感谢shell版的大虾小虾们!也许有一天,可以出个《shell精彩问答集》,来方便更多的人学习shell,使用shell。
1.原始文件
CS 100432= 8.0, 7.4, 6.9, 8.0, 5.0, 4.9, 7.4, 8.0, 9.2,
CS 100441= 8.0, 7.9, 7.8, 7.9, 7.7, 6.6, 4.1, 9.0, 8.4,
CS 100450= 9.0, 9.5, 9.4, 8.2, 8.1, 4.5, 9.3, 8.1, 3.7,
CS 100459= 4.2, 4.9, 7.9, 7.9, 9.1, 8.5, 7.9, 6.1, 7.9,
CS 100468= 7.9, 7.9, 7.9, 4.8, 8.5, 9.1, 9.1, 9.1, 9.8,
CS 100477= 9.8, 9.1, 9.3, 10.6, 9.3, 8.0, 8.0, 9.3, 9.3,
CS 100486= 9.4, 8.2, 8.2, 8.2, 5.7, 6.6, 8.5, 7.6, 8.4,
CS 100495= 4.6, 6.5, 8.4, 6.5, 6.6, 6.6, 6.0, 3.6, 1.1,
CS 100504= 8.6, 7.4, 7.4, 6.9, 8.0, 7.5, 8.6, 9.2, 8.5,
CS 100513= 9.1, 8.5, 8.5, 7.9, 7.8, 7.9, 7.7, 9.0, 11.5,
CS 100522= 10.9, 11.3, 8.1, 8.1, 8.2, 8.1, 9.4, 8.0, 6.3,
CS 100531= 3.7, 6.8, 9.2, 9.8, 8.5, 7.9, 7.9, 7.9, 7.9,
CS 100540= 7.9, 7.9, 7.9, 4.8, 7.9, 8.5, 7.9, 9.1, 7.9,
CS 100549= 9.1, 9.3, 8.7, 9.3, 10.0, 6.2, 8.7, 6.3, 8.0,
CS 100558= 6.4, 8.2, 5.7, 8.2, 8.2, 8.3, 4.5, 4.4, 6.5,
CS 100567= 2.6, 2.0, 6.5, 5.3, 5.3, 6.6, 5.4, 5.5, 3.6,
CS 100576= 5.0, 6.9, 8.6, 8.0, 8.1, 8.0, 4.9, 3.7, 9.2,
CS 100585= 9.7, 9.7, 7.8, 7.2, 11.5, 9.6, 7.9, 7.7, 9.5,
CS 100594= 8.9, 11.4, 6.5, 7.7, 9.4, 10.0, 10.0, 4.5, 8.0,
CS 100603= 4.9, 5.4, 5.4, 7.9, 7.9, 7.9, 6.1, 7.9, 7.9,
CS 100612= 7.9, 7.3, 7.8, 7.3, 6.0, 7.9, 8.6, 9.1, 9.1,
CS 100621= 9.1, 9.4, 9.4, 9.3, 8.1, 4.9, 4.3, 7.4, 8.8,
CS 100630= 9.3, 10.2, 8.3, 4.5, 6.4, 8.2, 5.2, 6.4, 4.4,
CS 100639= 6.5, 4.0, 7.1, 6.5, 9.2, 6.6, 8.5, 6.0, 3.6,
CS 100648= 6.8, 8.0, 5.0, 8.0, 6.9, 7.4, 8.0, 5.6, 4.8,
CS 100657= 8.5, 8.6, 6.6, 6.6, 8.5, 9.0, 7.7, 7.7, 9.5,
CS 100666= 4.6, 9.5, 8.9, 9.5, 9.4, 3.3, 7.5, 8.1, 8.0,
CS 100675= 7.4, 6.8, 7.4, 3.6, 7.9, 7.9, 6.1, 5.4, 7.9,
CS 100684= 9.2, 9.1, 7.9, 7.4, 7.3, 8.5, 8.6, 7.9, 9.2,
CS 100693= 8.8, 9.4, 9.2, 7.6, 8.1, 6.2, 6.3, 10.1, 10.0,
CS 100702= 7.5, 5.6, 9.5, 7.6, 9.4, 4.4, 9.0, 10.1, 8.2,
CS 100711= 9.4, 7.6, 4.0, 9.0, 8.4, 5.9, 6.6, 5.5, 4.3,
CS 100720= 5.1, 8.3, 5.5, 7.5, 7.2, 7.9, 8.1, 8.5, 3.5,
CS 100729= 5.1, 7.8, 5.1, 7.8, 8.4, 8.0, 8.7, 7.6, 9.5,
CS 100738= 8.2, 8.3, 5.1, 9.1, 0.7, 1.7, 8.4, 8.0, 8.0,
CS 100747= 8.4, 8.6, 7.9, 7.1, 7.3, 7.0, 5.5, 7.0, 7.8,
CS 100756= 9.1, 9.2, 9.0, 7.2, 7.6, 8.5, 9.2, 10.0, 8.9,
CS 100765= 8.3, 7.6, 7.6, 5.0, 1.1, 5.6, 10.1, 8.4, 7.9,
CS 100774= 5.0, 7.8, 8.8, 9.1, 6.6, 8.4, 6.4, 7.9, 6.7,
CS 100783= 11.9, 9.0, 4.1, 8.4, 8.8, 7.7, 8.4, 8.4, 6.3,
CS 100792= 7.4, 6.4, 6.8, 6.8, 8.0, 8.0, 8.8, 8.8, 4.4,
CS 100801= 5.4, 5.4, 6.6, 8.1, 9.7, 7.3, 8.0, 8.2, 8.2,
CS 100810= 7.3, 1.2, 0.9, 7.6, 7.1, 8.1, 8.7, 7.0, 8.0,
CS 100819= 7.4, 7.4, 8.0, 8.3, 8.5, 6.1, 7.0, 7.0, 7.8,
CS 100828= 9.1, 10.2, 9.0, 7.7, 7.7, 8.6, 8.6, 7.7, 7.9,
CS 100837= 8.5, 8.3, 8.3, 9.2, 10.2, 9.2, 8.2, 7.6, 5.5,
CS 100846= 8.3, 9.3, 8.8, 7.2, 9.2, 2.8, 7.0, 3.3, 7.7,
CS 100855= 6.4, 6.5, 3.6, 10.5, 5.9, 6.1, 6.1, 8.4,
CS 100863= 6.0,
解决方案:
1.awk '{gsub(/=/,"");n2=;print "\t"n2"=";for(i=4;i<=NF;i++) {n2+=1;print "\t"n2"="$i}}' clearcase/" target="_blank" >cc.txt
2.
awk -F= '
{
split(, x, " ");
split(, y, ",");
for(i in y)
{
printf("%s %s = %4.1f\n", x[1], x[2], y[i]);
x[2] = x[2]+1;
}
}' file
3.
nawk 'BEGIN { FS = "," }{
gsub(/CS/,",")
gsub(/\=/,",")
{ for(i = 3; i < NF; i++)
printf("CS %s=%s,\n", ++, $i) }
}' filename
在unix5.0.5下通过