2017-04-03 18 views
1

をソートするのは、コマンドを実行してみましょう:このような出力 "Linuxシェル" -

# zcat -f /var/log/remotelog*|grep -e "10\.0\.1\.15"|grep -e "7,35)"|sort -k 1M -k 2r|tail -n 250 3>&1 

ガット出力:

Apr 3 11:38:49 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Apr 3 11:38:35 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 3 11:06:20 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Apr 3 11:06:16 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 3 11:06:15 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Apr 3 11:05:41 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 2 17:54:02 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Apr 2 17:53:31 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 1 02:02:27 10.0.1.15 GPOND[927]: Success upgrade ONU(7,35) 
Apr 1 02:02:23 10.0.1.15 GPOND[927]: Success Download-OS ONU(7,35) 
Mar 31 15:03:51 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Mar 31 15:03:41 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 

非常に素晴らしい...

しかし、その後、私はそれをこのように実行します。

<?php 
$e = "zcat -f /var/log/remotelog*|grep -e \"10\.0\.1\.15\"|grep -e \"7,35)\"|sort -k 1M -k 2r|tail -n 250 3>&1"; 
system($e, $ret); 
echo $ret ; 
?> 

を、私はこのOを得ましたutput:

Mar 31 15:03:51 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Mar 31 15:03:41 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 3 11:38:49 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Apr 3 11:38:35 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 3 11:06:20 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Apr 3 11:06:16 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 3 11:06:15 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Apr 3 11:05:41 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 2 17:54:02 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link on(operational) 
Apr 2 17:53:31 10.0.1.15 GPOND[927]: ONU(7,35) eth port 1 link off(operational) 
Apr 1 02:02:27 10.0.1.15 GPOND[927]: Success upgrade ONU(7,35) 
Apr 1 02:02:23 10.0.1.15 GPOND[927]: Success Download-OS ONU(7,35) 

なぜですか?私は理解していません...

答えて

1

私が正しく理解していれば、2番目のもの(PHPを通して)は "正しい"出力です。

リストは最初に月名でソートされ、月名はロケール設定に依存しているので、ロケール設定(LC_ *環境変数)はコマンドラインとPHPでは異なると思われます。ソート。

+0

あなたはそうです。今はあまりにも明白なようです - 私はLC_ALL = pl_PLをソートする前にende envしていましたが、今は魅力的です。どうも! –

+0

ニース。受け入れられた答えとしてそれをマークしてください:) –

+0

もちろん、ごめんなさい –

関連する問題