如何用php或bash读取文本文件并对其进行排序?

时间:2015-12-05 11:33:20

标签: php bash shell text sh

我们已经使用iostat记录了我们的磁盘阵列,现在有一个2 MB的文本文件。 是否可以读取文件内容,并以某种方式对所有事件进行排序,使用php或bash?

我们也有shell访问权限,所以如果你是一个指挥大师,那也是一种可能性。

我们希望通过以下某些r/sw/skr/skw/s,{{来升读文本文件中的以下信息并对其进行排序1}},qlensvc_t值。

可能,还是太难?

%b

1 个答案:

答案 0 :(得分:3)

尝试对第3列进行排序(" w / s"):

(echo 'device r/s w/s kr/s kw/s qlen svc_t %b'; grep '[0-9]' file | sed 's/ \+/ /g' | sort -n -k 3,3 ) | column -t

或者这样对第7列进行排序(" svc_t"):

(echo 'device r/s w/s kr/s kw/s qlen svc_t %b'; grep '[0-9]' file | sed 's/ \+/ /g' | sort -n -k 7,7 ) | column -t

使用-k 7,7输出:

device  r/s   w/s   kr/s   kw/s   qlen  svc_t  %b
da0     0.0   0.0   0.0    0.0    1     0.0    0
da0     11.5  14.0  701.8  530.1  0     7.3    11
da0     0.0   10.5  0.0    350.8  0     139.2  145

使用awkprintf,可以正确对齐列。