LinuxSir.cn,穿越时空的Linuxsir!

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

写脚本能否精确定位字符的输出位置为第多少列?

[复制链接]
发表于 2006-7-25 09:16:00 | 显示全部楼层 |阅读模式
比如我想统计一些信息,最后输出到一个文件里
                 xxx  Summary
                ==========

Name       Date          Data
a01      06.08.10          12
a02      06.08.10       1000
a03      06.08.10    999999
a04      06.08.10         888

能否精确控制输出在第多少列?
用echo -e "\t"这种方法虽然可以部分实现,但是效果并不很好。
发表于 2006-7-25 12:31:57 | 显示全部楼层
should try using awk. for example, cat file | awk '{print $3}' will only output the third col.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-25 15:39:14 | 显示全部楼层
to yongjian 不是这个意思。

如果浮点数位数比较多的话,而且又有好几列,很容易出现上列和下列数字对不齐的情况。
这样查看比较数据起来就很困难。我希望能做到的是每列打头的数字对齐,或者数字结尾对齐。
回复 支持 反对

使用道具 举报

发表于 2006-7-25 16:52:02 | 显示全部楼层
如果长度是未知的话这个事情根本办不到吧,如果大约知道最大长度的话,也许可以用expand程序,设定一个较大的tab值让它把tab转换成空格再输出。
回复 支持 反对

使用道具 举报

发表于 2006-7-25 16:57:00 | 显示全部楼层
printf控制输出长度。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-25 18:36:27 | 显示全部楼层
果然好用,多谢了!

[PHP]                              

[toast.all.256]
-----------------------------------------------------
Access rate (SPM/MEM):        0.3917%         0.3975%
Simulate cycle:            2099542975      2103784140
DMA transfers:                  79317          206455

[toast.all.512]
-----------------------------------------------------
Access rate (SPM/MEM):        0.4417%         0.3924%
Simulate cycle:            2019659768      2093983746
DMA transfers:                 129977          202767

[toast.all.768]
-----------------------------------------------------
Access rate (SPM/MEM):        0.4982%         0.5098%
Simulate cycle:            1807336541      1798503452
DMA transfers:                 135931          206453
[/PHP]
回复 支持 反对

使用道具 举报

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

本版积分规则

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