2017-08-18 9 views
0

Windowsサーバーでログファイルを読み込んでユーザーに表示する必要があります。 すべての情報を表示する必要はありません。ファイルから。 UNIXでは、最後の100行を取得するためにテール-100を行うことができ、いくつかの調査で、そのテキストの後にgrepまたは情報を得ることができます。 しかし、ウィンドウでは、私は私のために働いていない 'より多くの'を使用しています。Windowsでの質問Moreコマンド

これまでに試したことがあり、ファイル全体を読み込んでいます。

more <filename.txt>OutPutFile.txt 

私は以下のいずれかを実行します:

  1. 私はラインの最新の「はx」の番号を読み取るする必要があります。
  2. 特定の日付の後にログファイルを読み取ります。だから、特定の日付から始めて、すべての行のログを取得できます。 たとえば、私はすべてのログ情報を持つことができます。ファイルからの後。
  3. PowerShellコマンドでもうまく動作しますが、サードパーティのアプリケーションをサーバーにインストールすることはできません。

私の問題を手伝ってください。ありがとう。ここで

+2

あなたが尋ねていることは奇抜です。あなたがそれを望むなら、GnuWinポートの尾があります。それ以外の場合は、-contextパラメーターを指定したPowerShells Select-Stringに切り替えることをお勧めします。 – LotPings

+1

あなたの日付が入っている最初の行番号を '[Find | FindStr]/N'にしたいと思うのですが、' 'More + n''を使って' n''をその行番号に関連づけています。私はあなたが自分のコードを作成し、それに応じてあなたの質問を更新できるように、両方のコマンドの使用例を見つけることができると確信しています。がんばろう! – Compo

答えて

1

は私が作ったコメントに基づいて、完全なバッチファイルの例です:

@For /F Delims^=: %%A In ('FindStr/NL "08/19/2017" "in.log"' 
) Do @If Not Defined i (Set/A "i=%%A-1"&Call More +%%i%% "in.log">"out.log") 

変更、二重引用符の間に「in.log」と「out.log」ファイルと日付の名前、 08/19/2017を使用して、あなたの既知の名前、日付、フォーマットに一致させることができます。

+0

ありがとうございます。このソリューションは、リモート接続で動作し、バッチファイルを実行します。 必要な情報を取得できました。それが満足のいくものであるか、その日のみになると考えられるかどうかをクライアントに確認します。これは、フローを実行してから何日も使用できるためです。 – raja777m

関連する問題