LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 623|回复: 4

[用perl解决了]awk的问题,想了半天也没有结局

[复制链接]
发表于 2009-4-23 19:43:08 | 显示全部楼层 |阅读模式
awk '{gsub("RTD"," ",$0);print NR $0> FILENAME}' latency_grep.dat

我想用这个脚本做个替换,把RTD去掉,并加上行号。但是这个脚本只能处理53行,54行以后的东西直接就不在了。我用nl可以看见我的latency_grep.dat有60行,但是用这个脚本替换后就只有53行,我把其中的内容换了也只能处理53行。

latency_grep.dat处理前内容:
RTD|       0.322|       0.715|       3.480|       0|       0.322|       3.480
RTD|       0.019|       0.709|       2.582|       0|       0.019|       3.480
RTD|       0.016|       0.686|       2.702|       0|       0.016|       3.480
RTD|       0.072|       0.712|       2.567|       0|       0.016|       3.480
RTD|       0.031|       0.779|       3.876|       0|       0.016|       3.876
RTD|       0.024|       0.717|       3.076|       0|       0.016|       3.876
RTD|       0.015|       0.723|       3.503|       0|       0.015|       3.876
RTD|       0.123|       0.728|       3.877|       0|       0.015|       3.877
RTD|       0.275|       0.731|       2.664|       0|       0.015|       3.877
RTD|       0.276|       0.843|       2.811|       0|       0.015|       3.877
RTD|       0.014|       0.727|       3.238|       0|       0.014|       3.877
RTD|       0.316|       0.963|       3.570|       0|       0.014|       3.877
RTD|       0.313|       0.803|       3.330|       0|       0.014|       3.877
RTD|       0.314|       0.726|       3.143|       0|       0.014|       3.877
RTD|       0.000|       0.681|       3.343|       0|       0.000|       3.877
RTD|       0.137|       0.600|       2.553|       0|       0.000|       3.877
RTD|       0.005|       0.613|       3.233|       0|       0.000|       3.877
RTD|       0.029|       0.655|       2.758|       0|       0.000|       3.877
RTD|       0.009|       0.556|       2.382|       0|       0.000|       3.877
RTD|       0.014|       0.586|       2.016|       0|       0.000|       3.877
RTD|       0.035|       0.627|       2.160|       0|       0.000|       3.877
RTD|       0.010|       0.632|       3.072|       0|       0.000|       3.877
RTD|       0.052|       0.733|       3.889|       0|       0.000|       3.889
RTD|       0.011|       0.653|       2.470|       0|       0.000|       3.889
RTD|       0.274|       0.755|       3.404|       0|       0.000|       3.889
RTD|       0.030|       0.763|       3.193|       0|       0.000|       3.889
RTD|       0.038|       0.719|       3.553|       0|       0.000|       3.889
RTD|       0.046|       0.743|       3.719|       0|       0.000|       3.889
RTD|       0.035|       0.673|       2.404|       0|       0.000|       3.889
RTD|       0.277|       0.705|       2.614|       0|       0.000|       3.889
RTD|       0.015|       0.670|       2.516|       0|       0.000|       3.889
RTD|       0.022|       0.705|       2.567|       0|       0.000|       3.889
RTD|       0.032|       0.667|       2.476|       0|       0.000|       3.889
RTD|       0.264|       0.672|       3.000|       0|       0.000|       3.889
RTD|       0.014|       0.653|       2.751|       0|       0.000|       3.889
RTD|       0.312|       0.674|       2.701|       0|       0.000|       3.889
RTD|       0.039|       0.676|       3.514|       0|       0.000|       3.889
RTD|       0.047|       0.666|       2.600|       0|       0.000|       3.889
RTD|       0.281|       0.664|       2.732|       0|       0.000|       3.889
RTD|       0.043|       0.675|       2.484|       0|       0.000|       3.889
RTD|       0.277|       0.663|       2.674|       0|       0.000|       3.889
RTD|       0.278|       0.667|       2.617|       0|       0.000|       3.889
RTD|       0.080|       0.796|       3.075|       0|       0.000|       3.889
RTD|       0.319|       0.652|       2.491|       0|       0.000|       3.889
RTD|       0.010|       0.668|       2.500|       0|       0.000|       3.889
RTD|       0.024|       0.642|       2.233|       0|       0.000|       3.889
RTD|       0.040|       0.637|       2.429|       0|       0.000|       3.889
RTD|       0.039|       0.632|       2.262|       0|       0.000|       3.889
RTD|       0.320|       0.622|       2.114|       0|       0.000|       3.889
RTD|       0.055|       0.584|       2.076|       0|       0.000|       3.889
RTD|       0.087|       0.623|       2.101|       0|       0.000|       3.889
RTD|       0.042|       0.620|       1.813|       0|       0.000|       3.889
RTD|       0.096|       0.608|       2.690|       0|       0.000|       3.889
RTD|       0.313|       0.601|       2.531|       0|       0.000|       3.889
RTD|       0.316|       0.650|       2.624|       0|       0.000|       3.889
RTD|       0.069|       0.647|       2.381|       0|       0.000|       3.889
RTD|       0.016|       0.639|       2.060|       0|       0.000|       3.889
RTD|       0.011|       0.642|       3.329|       0|       0.000|       3.889
RTD|       0.019|       0.616|       2.288|       0|       0.000|       3.889
RTD|       0.032|       0.638|       2.062|       0|       0.000|       3.889
处理后:
1|       0.322|       0.715|       3.480|       0|       0.322|       3.480
2|       0.019|       0.709|       2.582|       0|       0.019|       3.480
3|       0.016|       0.686|       2.702|       0|       0.016|       3.480
4|       0.072|       0.712|       2.567|       0|       0.016|       3.480
5|       0.031|       0.779|       3.876|       0|       0.016|       3.876
6|       0.024|       0.717|       3.076|       0|       0.016|       3.876
7|       0.015|       0.723|       3.503|       0|       0.015|       3.876
8|       0.123|       0.728|       3.877|       0|       0.015|       3.877
9|       0.275|       0.731|       2.664|       0|       0.015|       3.877
10|       0.276|       0.843|       2.811|       0|       0.015|       3.877
11|       0.014|       0.727|       3.238|       0|       0.014|       3.877
12|       0.316|       0.963|       3.570|       0|       0.014|       3.877
13|       0.313|       0.803|       3.330|       0|       0.014|       3.877
14|       0.314|       0.726|       3.143|       0|       0.014|       3.877
15|       0.000|       0.681|       3.343|       0|       0.000|       3.877
16|       0.137|       0.600|       2.553|       0|       0.000|       3.877
17|       0.005|       0.613|       3.233|       0|       0.000|       3.877
18|       0.029|       0.655|       2.758|       0|       0.000|       3.877
19|       0.009|       0.556|       2.382|       0|       0.000|       3.877
20|       0.014|       0.586|       2.016|       0|       0.000|       3.877
21|       0.035|       0.627|       2.160|       0|       0.000|       3.877
22|       0.010|       0.632|       3.072|       0|       0.000|       3.877
23|       0.052|       0.733|       3.889|       0|       0.000|       3.889
24|       0.011|       0.653|       2.470|       0|       0.000|       3.889
25|       0.274|       0.755|       3.404|       0|       0.000|       3.889
26|       0.030|       0.763|       3.193|       0|       0.000|       3.889
27|       0.038|       0.719|       3.553|       0|       0.000|       3.889
28|       0.046|       0.743|       3.719|       0|       0.000|       3.889
29|       0.035|       0.673|       2.404|       0|       0.000|       3.889
30|       0.277|       0.705|       2.614|       0|       0.000|       3.889
31|       0.015|       0.670|       2.516|       0|       0.000|       3.889
32|       0.022|       0.705|       2.567|       0|       0.000|       3.889
33|       0.032|       0.667|       2.476|       0|       0.000|       3.889
34|       0.264|       0.672|       3.000|       0|       0.000|       3.889
35|       0.014|       0.653|       2.751|       0|       0.000|       3.889
36|       0.312|       0.674|       2.701|       0|       0.000|       3.889
37|       0.039|       0.676|       3.514|       0|       0.000|       3.889
38|       0.047|       0.666|       2.600|       0|       0.000|       3.889
39|       0.281|       0.664|       2.732|       0|       0.000|       3.889
40|       0.043|       0.675|       2.484|       0|       0.000|       3.889
41|       0.277|       0.663|       2.674|       0|       0.000|       3.889
42|       0.278|       0.667|       2.617|       0|       0.000|       3.889
43|       0.080|       0.796|       3.075|       0|       0.000|       3.889
44|       0.319|       0.652|       2.491|       0|       0.000|       3.889
45|       0.010|       0.668|       2.500|       0|       0.000|       3.889
46|       0.024|       0.642|       2.233|       0|       0.000|       3.889
47|       0.040|       0.637|       2.429|       0|       0.000|       3.889
48|       0.039|       0.632|       2.262|       0|       0.000|       3.889
49|       0.320|       0.622|       2.114|       0|       0.000|       3.889
50|       0.055|       0.584|       2.076|       0|       0.000|       3.889
51|       0.087|       0.623|       2.101|       0|       0.000|       3.889
52|       0.042|       0.620|       1.813|       0|       0.000|       3.889
53|       0.096|       0.608|       2.6

请大家帮帮忙,错误很奇怪,不行我就用perl或者其他的了。不知道我是不是少加什么限制参数了。

使用perl重新做了,那个错误还是没有解决
perl -pi -e 's/RTD/$./g;s/\|//g' latency_grep.dat
发表于 2009-4-23 21:54:27 | 显示全部楼层
awk '{gsub("RTD"," ",$0);print NR $0}' latency_grep.dat  > new.dat
回复 支持 反对

使用道具 举报

发表于 2009-4-23 23:11:49 | 显示全部楼层
真的奇怪,我按照你的文件内容及命令,处理结果正确啊!本人用Sid
处理后的结果
  1. 1 | 0.322| 0.715| 3.480| 0| 0.322| 3.480
  2. 2 | 0.019| 0.709| 2.582| 0| 0.019| 3.480
  3. 3 | 0.016| 0.686| 2.702| 0| 0.016| 3.480
  4. 4 | 0.072| 0.712| 2.567| 0| 0.016| 3.480
  5. 5 | 0.031| 0.779| 3.876| 0| 0.016| 3.876
  6. 6 | 0.024| 0.717| 3.076| 0| 0.016| 3.876
  7. 7 | 0.015| 0.723| 3.503| 0| 0.015| 3.876
  8. 8 | 0.123| 0.728| 3.877| 0| 0.015| 3.877
  9. 9 | 0.275| 0.731| 2.664| 0| 0.015| 3.877
  10. 10 | 0.276| 0.843| 2.811| 0| 0.015| 3.877
  11. 11 | 0.014| 0.727| 3.238| 0| 0.014| 3.877
  12. 12 | 0.316| 0.963| 3.570| 0| 0.014| 3.877
  13. 13 | 0.313| 0.803| 3.330| 0| 0.014| 3.877
  14. 14 | 0.314| 0.726| 3.143| 0| 0.014| 3.877
  15. 15 | 0.000| 0.681| 3.343| 0| 0.000| 3.877
  16. 16 | 0.137| 0.600| 2.553| 0| 0.000| 3.877
  17. 17 | 0.005| 0.613| 3.233| 0| 0.000| 3.877
  18. 18 | 0.029| 0.655| 2.758| 0| 0.000| 3.877
  19. 19 | 0.009| 0.556| 2.382| 0| 0.000| 3.877
  20. 20 | 0.014| 0.586| 2.016| 0| 0.000| 3.877
  21. 21 | 0.035| 0.627| 2.160| 0| 0.000| 3.877
  22. 22 | 0.010| 0.632| 3.072| 0| 0.000| 3.877
  23. 23 | 0.052| 0.733| 3.889| 0| 0.000| 3.889
  24. 24 | 0.011| 0.653| 2.470| 0| 0.000| 3.889
  25. 25 | 0.274| 0.755| 3.404| 0| 0.000| 3.889
  26. 26 | 0.030| 0.763| 3.193| 0| 0.000| 3.889
  27. 27 | 0.038| 0.719| 3.553| 0| 0.000| 3.889
  28. 28 | 0.046| 0.743| 3.719| 0| 0.000| 3.889
  29. 29 | 0.035| 0.673| 2.404| 0| 0.000| 3.889
  30. 30 | 0.277| 0.705| 2.614| 0| 0.000| 3.889
  31. 31 | 0.015| 0.670| 2.516| 0| 0.000| 3.889
  32. 32 | 0.022| 0.705| 2.567| 0| 0.000| 3.889
  33. 33 | 0.032| 0.667| 2.476| 0| 0.000| 3.889
  34. 34 | 0.264| 0.672| 3.000| 0| 0.000| 3.889
  35. 35 | 0.014| 0.653| 2.751| 0| 0.000| 3.889
  36. 36 | 0.312| 0.674| 2.701| 0| 0.000| 3.889
  37. 37 | 0.039| 0.676| 3.514| 0| 0.000| 3.889
  38. 38 | 0.047| 0.666| 2.600| 0| 0.000| 3.889
  39. 39 | 0.281| 0.664| 2.732| 0| 0.000| 3.889
  40. 40 | 0.043| 0.675| 2.484| 0| 0.000| 3.889
  41. 41 | 0.277| 0.663| 2.674| 0| 0.000| 3.889
  42. 42 | 0.278| 0.667| 2.617| 0| 0.000| 3.889
  43. 43 | 0.080| 0.796| 3.075| 0| 0.000| 3.889
  44. 44 | 0.319| 0.652| 2.491| 0| 0.000| 3.889
  45. 45 | 0.010| 0.668| 2.500| 0| 0.000| 3.889
  46. 46 | 0.024| 0.642| 2.233| 0| 0.000| 3.889
  47. 47 | 0.040| 0.637| 2.429| 0| 0.000| 3.889
  48. 48 | 0.039| 0.632| 2.262| 0| 0.000| 3.889
  49. 49 | 0.320| 0.622| 2.114| 0| 0.000| 3.889
  50. 50 | 0.055| 0.584| 2.076| 0| 0.000| 3.889
  51. 51 | 0.087| 0.623| 2.101| 0| 0.000| 3.889
  52. 52 | 0.042| 0.620| 1.813| 0| 0.000| 3.889
  53. 53 | 0.096| 0.608| 2.690| 0| 0.000| 3.889
  54. 54 | 0.313| 0.601| 2.531| 0| 0.000| 3.889
  55. 55 | 0.316| 0.650| 2.624| 0| 0.000| 3.889
  56. 56 | 0.069| 0.647| 2.381| 0| 0.000| 3.889
  57. 57 | 0.016| 0.639| 2.060| 0| 0.000| 3.889
  58. 58 | 0.011| 0.642| 3.329| 0| 0.000| 3.889
  59. 59 | 0.019| 0.616| 2.288| 0| 0.000| 3.889
  60. 60 | 0.032| 0.638| 2.062| 0| 0.000| 3.889
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-4-24 02:23:07 | 显示全部楼层
awk '{for(i=1;i<=NR;i++);gsub("RTD",i,$0);print  $0> FILENAME}' test
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-24 07:32:24 | 显示全部楼层
Post by waq;1978674
真的奇怪,我按照你的文件内容及命令,处理结果正确啊!本人用Sid
处理后的结果
  1. 1 | 0.322| 0.715| 3.480| 0| 0.322| 3.480
  2. 2 | 0.019| 0.709| 2.582| 0| 0.019| 3.480
  3. 3 | 0.016| 0.686| 2.702| 0| 0.016| 3.480
  4. 4 | 0.072| 0.712| 2.567| 0| 0.016| 3.480
  5. 5 | 0.031| 0.779| 3.876| 0| 0.016| 3.876
  6. 6 | 0.024| 0.717| 3.076| 0| 0.016| 3.876
  7. 7 | 0.015| 0.723| 3.503| 0| 0.015| 3.876
  8. 8 | 0.123| 0.728| 3.877| 0| 0.015| 3.877
  9. 9 | 0.275| 0.731| 2.664| 0| 0.015| 3.877
  10. 10 | 0.276| 0.843| 2.811| 0| 0.015| 3.877
  11. 11 | 0.014| 0.727| 3.238| 0| 0.014| 3.877
  12. 12 | 0.316| 0.963| 3.570| 0| 0.014| 3.877
  13. 13 | 0.313| 0.803| 3.330| 0| 0.014| 3.877
  14. 14 | 0.314| 0.726| 3.143| 0| 0.014| 3.877
  15. 15 | 0.000| 0.681| 3.343| 0| 0.000| 3.877
  16. 16 | 0.137| 0.600| 2.553| 0| 0.000| 3.877
  17. 17 | 0.005| 0.613| 3.233| 0| 0.000| 3.877
  18. 18 | 0.029| 0.655| 2.758| 0| 0.000| 3.877
  19. 19 | 0.009| 0.556| 2.382| 0| 0.000| 3.877
  20. 20 | 0.014| 0.586| 2.016| 0| 0.000| 3.877
  21. 21 | 0.035| 0.627| 2.160| 0| 0.000| 3.877
  22. 22 | 0.010| 0.632| 3.072| 0| 0.000| 3.877
  23. 23 | 0.052| 0.733| 3.889| 0| 0.000| 3.889
  24. 24 | 0.011| 0.653| 2.470| 0| 0.000| 3.889
  25. 25 | 0.274| 0.755| 3.404| 0| 0.000| 3.889
  26. 26 | 0.030| 0.763| 3.193| 0| 0.000| 3.889
  27. 27 | 0.038| 0.719| 3.553| 0| 0.000| 3.889
  28. 28 | 0.046| 0.743| 3.719| 0| 0.000| 3.889
  29. 29 | 0.035| 0.673| 2.404| 0| 0.000| 3.889
  30. 30 | 0.277| 0.705| 2.614| 0| 0.000| 3.889
  31. 31 | 0.015| 0.670| 2.516| 0| 0.000| 3.889
  32. 32 | 0.022| 0.705| 2.567| 0| 0.000| 3.889
  33. 33 | 0.032| 0.667| 2.476| 0| 0.000| 3.889
  34. 34 | 0.264| 0.672| 3.000| 0| 0.000| 3.889
  35. 35 | 0.014| 0.653| 2.751| 0| 0.000| 3.889
  36. 36 | 0.312| 0.674| 2.701| 0| 0.000| 3.889
  37. 37 | 0.039| 0.676| 3.514| 0| 0.000| 3.889
  38. 38 | 0.047| 0.666| 2.600| 0| 0.000| 3.889
  39. 39 | 0.281| 0.664| 2.732| 0| 0.000| 3.889
  40. 40 | 0.043| 0.675| 2.484| 0| 0.000| 3.889
  41. 41 | 0.277| 0.663| 2.674| 0| 0.000| 3.889
  42. 42 | 0.278| 0.667| 2.617| 0| 0.000| 3.889
  43. 43 | 0.080| 0.796| 3.075| 0| 0.000| 3.889
  44. 44 | 0.319| 0.652| 2.491| 0| 0.000| 3.889
  45. 45 | 0.010| 0.668| 2.500| 0| 0.000| 3.889
  46. 46 | 0.024| 0.642| 2.233| 0| 0.000| 3.889
  47. 47 | 0.040| 0.637| 2.429| 0| 0.000| 3.889
  48. 48 | 0.039| 0.632| 2.262| 0| 0.000| 3.889
  49. 49 | 0.320| 0.622| 2.114| 0| 0.000| 3.889
  50. 50 | 0.055| 0.584| 2.076| 0| 0.000| 3.889
  51. 51 | 0.087| 0.623| 2.101| 0| 0.000| 3.889
  52. 52 | 0.042| 0.620| 1.813| 0| 0.000| 3.889
  53. 53 | 0.096| 0.608| 2.690| 0| 0.000| 3.889
  54. 54 | 0.313| 0.601| 2.531| 0| 0.000| 3.889
  55. 55 | 0.316| 0.650| 2.624| 0| 0.000| 3.889
  56. 56 | 0.069| 0.647| 2.381| 0| 0.000| 3.889
  57. 57 | 0.016| 0.639| 2.060| 0| 0.000| 3.889
  58. 58 | 0.011| 0.642| 3.329| 0| 0.000| 3.889
  59. 59 | 0.019| 0.616| 2.288| 0| 0.000| 3.889
  60. 60 | 0.032| 0.638| 2.062| 0| 0.000| 3.889
复制代码

我用浏览器上复制的数据再用awk处理后也是正确的,可能是我生成的数据的53行有文件结束符,我再仔细检查一下生成的文件,谢谢你们
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表