私はスクリプトを実行する必要がある私のリモートサーバ(ウィンドウ)にインストールされていないので、File:ReadBackwardsモジュールを使わずに、ファイルの最後の行だけを読む必要があります。 最後の行だけを読む最も効率的な方法を教えてください。Windows上でPerlを使用しているファイルの最終行を読み取るにはどうすればよいですか?
0
A
答えて
0
あなたは窓です。私はWindows用のinbuildコマンドが何であるか知らないが、あなたがしてみてください他
open my $fh ,"<","file.txt";
my $last_line;
$last_line = $_,while (<$fh>);
print $last_line;
それを印刷したり、
反復whileループを使用してファイルハンドラを次のようにのようなものを試してみて、変数に出力を保存しますこれらは、より多くのメモリを消費します。
open my $fh ,"<","file.txt" or die "error opening $!";
my @ar = <$fh>;
print $ar[-1];
さも
open my $fh ,"<","file.txt" or die "error opening $!";
my @ar = <$fh>;
print pop @ar;
6
この回答はWindowsでは機能しません。
これは単発的な問題であれば、単にシステムコールを行い、tail
を使用するだけです。
my $last_line = `tail -n 1 $filename`;
あなたはこれをたくさん行う必要がある場合は、それを展開する前に、あなたのスクリプトに、リモートマシン上のローカル-libのにインストールを考える、またはfatpackingファイル:: ReadBackwards。
-1
0
(行は比較的等しい長さであれば、各ラインが高々Xバイト、または何でもある場合)は、ファイルについて何かを知っているなら、あなたはすることができるかもしれませんシークで何かをしなさい。たとえば、最後の行が40バイト以下であれば、以下のことができます。ファイルが100 MBであることがわかっている場合(File :: statを使用しています)、最初の10行を平均して何バイトあるかを知ることができます。ループを実行します。あなたは15行または20行を読まなければならないかもしれませんが、それは悪くありません。
open(my $input,"input2.txt")||die "can't open the file";
my $last_line;
seek ($input, -50, 2);
while(<$input>)
{
$last_line = $_;
}
print "$last_line\n";
関連する問題
- 1. Windows上の裸のPerlで特定のパターンを含むファイルの最終行を読み取るにはどうすればよいですか?
- 2. Windows上でXAMPP上でPerlファイルを実行するにはどうすればよいですか?
- 3. QSettingsを使用してWindowsレジストリ(デフォルト)の値を読み取るにはどうすればよいですか?
- 4. C#を使用して.txtファイルからデータを読み取るにはどうすればよいですか?
- 5. jQueryを使用してJSONからファイルを読み取るにはどうすればよいですか?
- 6. QResourceを使用してファイルを読み取るにはどうすればよいですか?
- 7. C#を使用して.docxファイルを読み取るにはどうすればよいですか?
- 8. WindowsでノンブロッキングIPC読み取りを実行するにはどうすればよいですか?
- 9. owfsを使用してiButton温度ロガーを読み取るにはどうすればよいですか?
- 10. jqueryを使用して選択を読み取るにはどうすればよいですか?
- 11. Perlでバイナリファイルからunsigned intを読み取るにはどうすればよいですか?
- 12. 文字列の最初の行を読み取るにはどうすればよいですか?
- 13. テキストファイルの最後の10行を読み取るにはどうすればよいですか?
- 14. EPICを使用してEclipseでPerlテストケースを実行するにはどうすればよいですか?
- 15. Htmlファイルを解析してその要素を読み取るにはどうすればよいですか?
- 16. Rを使用してディレクトリからファイルを読み取るにはどうすればよいですか?私がする必要がどのような
- 17. javascriptでJSESSIONIDを読み取るにはどうすればよいですか?
- 18. Perlを使用してWindowsでファイル名のないパスを取得するにはどうすればよいですか?
- 19. PerlスクリプトがWindows上で実行されているかどうかを確認するにはどうすればよいですか?
- 20. Perlを使用してファイルから略語を抽出するにはどうすればよいですか?
- 21. Perlを使用してパスからファイル名を抽出するにはどうすればよいですか?
- 22. GMail Atomフィードを使用してGMailラベルを読み取るにはどうすればいいですか?
- 23. Perl CGIプログラムでURLパラメータを読み取るにはどうすればよいですか?
- 24. 実行ファイルのパスを使用してWindowsサービスがインストールされているかどうかを確認するにはどうすればよいですか?
- 25. JavaプロセスでWindowsの "Virtual Bytes"パフォーマンスカウンタをJavaで読み取るにはどうすればよいですか?
- 26. Perlを使ってファイル内の行を比較するにはどうすればよいですか?
- 27. OpenSSLをインストールせずに、Windows上でPerlを使用してhttpsページのコンテンツを読むにはどうすればよいですか?
- 28. Perlを使用してファイルをダウンロードするにはどうすればよいですか?
- 29. Perlを使用してCSVファイルを作成するにはどうすればよいですか?
- 30. WindowsのPythonで別のプロセスのメモリを読み取るにはどうすればよいですか?
はhttp://stackoverflow.com/questions/187587/looking-for-a-windows-equivalent-of-the-unix-tail-command#comment5036679_187826を見てみましょう – simbabque
最も効率的な方法はにあります不足しているモジュールをインストールしてください。 –
@DaveCrossありがとうと私も理解していますが、それは完全に私によって処理されていないリモートサーバーです。 – STJ