Sebenarnya ada tail untuk XP, Hanya saja Microsoft tidak menginstalnya dengan versi standar XP; mereka mengemasnya dalam 'Windows Server 2003 Resource Kit Tools'. Anda bisa mendapatkannya di sini: microsoft.com/downloads/…
mobaXTerm, gratis dan memiliki log plugin, Anda dapat melakukan tail -f /drives/c/logs/mylog.log
surfealokesea
3
Saya tidak berpikir ini harus ditutup, karena saya perlu hal yang sama untuk melacak debug di aplikasi windows saya. Ini tentang "alat perangkat lunak yang biasa digunakan oleh programmer", yang ada di topik
kristianp
Jawaban:
137
Saya sarankan menginstal sesuatu seperti Utilitas GNU untuk Win32 . Ini memiliki sebagian besar favorit, termasuk ekor.
@ EricJ., Terima kasih, sepertinya memang relevan. Tapi saya baru sadar lebih mudah bagi saya untuk menggunakan solusi: Saya hanya akan menulis skrip sederhana yang melakukan tail:)
Ini bagus untuk diketahui; Terima kasih. Tapi saya punya beberapa masalah dengan itu (pada Windows 7). (1) ini menampilkan seluruh file (tidak baik untuk file log besar, itulah sebabnya tailbisa berguna) (2) tidak se dinamis yang saya inginkan (mungkin karena perubahan OS / sistem file antara pengaturan saya dan poster lainnya ?). Yaitu, saya memutuskan bahwa shell Get-Contenttidak melakukan pembaruan sampai saya jalankan dirdi shell lain.
mpontillo
10
Saya pikir patut disebutkan bahwa PowerShell akan menjeda scroll / ouput jika Anda memilih sesuatu di dalam jendela terminal untuk memberi Anda kesempatan untuk membaca, menyalin / menempel, dll. Jika Anda menekan Enter, itu akan melanjutkan scrolling.
cbednarski
19
PowerShell 3 memperkenalkan parameter -Tail untuk menyertakan hanya x baris terakhir
Stefan Haberl
8
Jadi bukankah jawaban yang tepat untuk Powershell harus seperti itu Get-Content -Tail 100 -Wait .\logfile.log?
Henno Vermeulen
62
Saya selalu menggunakan Baretail untuk tailing di Windows. Gratis dan cukup bagus.
Sunting: untuk deskripsi Baretail yang lebih baik, lihat pertanyaan ini
Ini akhirnya menjadi solusi pertama yang bekerja untuk saya di [tegukan] Windows Server 2003 R2 SP1! Sangat mudah dengan installer, bekerja untuk tailing segera keluar dari kotak :)
cellepo
Mengunduh dan menjalankan executable yang tidak ditandatangani melalui HTTP mungkin bukan ide yang baik. Paling tidak, seseorang harus mengunduh melalui situs HTTPS mereka .
Zero3
Saya merasa luar biasa bahwa mereka tetap memelihara situs ini dan memperbarui sertifikat SSL hingga saat ini, sementara perangkat lunaknya tidak memutakhirkan sejak tahun 2006. Namun berfungsi dengan baik. Apa yang saya butuhkan. Windows Defender tidak menemukan ancaman.
Lionet Chen
31
Anda bisa mendapatkan ekor sebagai bagian dari Cygwin .
Siapa pun yang tertarik pada ekor CMD DOS menggunakan perintah batch (lihat di bawah).
Itu bukan prefek, dan garis kadang-kadang berulang.
Penggunaan: tail.bat -d tail.bat -f -f
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
rem tail.bat -d <lines> <file>
rem tail.bat -f <file>
rem ****** MAIN ******
IF "%1"=="-d" GOTO displayfile
IF "%1"=="-f" GOTO followfile
GOTO end
rem ************
rem Show Last n lines of file
rem ************
:displayfile
SET skiplines=%2
SET sourcefile=%3
rem *** Get the current line count of file ***
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET find_lc=%%l)
rem *** Calculate the lines to skip
SET /A skiplines=%find_lc%-!skiplines!
rem *** Display to screen line needed
more +%skiplines% %sourcefile%
GOTO end
rem ************
rem Show Last n lines of file & follow output
rem ************
:followfile
SET skiplines=0
SET findend_lc=0
SET sourcefile=%2
:followloop
rem *** Get the current line count of file ***
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET find_lc=%%l)
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET findend_lc=%%l)
rem *** Calculate the lines to skip
SET /A skiplines=%findend_lc%-%find_lc%
SET /A skiplines=%find_lc%-%skiplines%
rem *** Display to screen line when file updated
more +%skiplines% %sourcefile%
goto followloop
:end
Ini cerdas, dan saya semua ingin memanfaatkan fungsionalitas yang ada saat mengunduh alat bukanlah pilihan! Kode ini akan memakan CPU, karena akan terus berputar dalam tindak lanjut untuk -f.
armstrhb
1
memiliki masalah yang sama dengan mengunduh dan makan cpu! menambahkan baris ini ping 127.0.0.1 -n 2 > nulsebelumnya goto followloop. ia mengirim dua ping dan menunggu 1 detik di antaranya. jadi itu akan membiarkan cpu hidup!: D
Mohsen ZareZardeyni
Luar biasa! Terima kasih banyak
John Fairbanks
1
mengapa menggunakan ping jika Anda bisa memanfaatkannya timeout /t 2?
namezero
23
Ada cukup banyak opsi, namun semuanya memiliki kekurangan dengan fitur yang lebih canggih.
Ekor GnuWin32 buggy ( α β γ ) - hal-hal seperti -f saja tidak berfungsi.
Ekor UnxUtils tampaknya lebih baik (-f berfungsi, tetapi --pid tampaknya tidak, -n tetapi tidak --lines = n gagal dengan -f), tetapi tampaknya merupakan proyek mati.
Cygwin adalah bubur besar jelek, mungkin hanya bisa menggunakan paket DLL dan coreutils - tetapi masih memiliki masalah seperti --pid tidak bekerja dengan proses win32 asli.
Saya suka fitur-fitur dari Log Expert, namun pengalaman saya bermasalah dengan Win 7 64 bit.
Clay
Saya kehilangan fungsionalitas "pandangan jelas".
Daniel Hári
13
Jika Anda tidak ingin menginstal apa pun, Anda dapat "membuat sendiri" file batch yang berfungsi dari perintah Windows standar. Berikut adalah beberapa petunjuk bagaimana melakukannya.
1) Menggunakan find / c / v "" yourinput.file , dapatkan jumlah baris dalam file input Anda. Outputnya seperti:
---------- T.TXT: 15
2) Menggunakan for / f , parsing output ini untuk mendapatkan angka 15.
3) Dengan menggunakan set / a , hitung jumlah garis head yang perlu dilewati
4) Menggunakan for / f "skip = n" melewati garis kepala dan gema / proses garis ekor.
Jika saya menemukan waktu, saya akan membangun file batch dan mengirimnya kembali ke sini.
EDIT: tail.bat
REM tail.bat
REM
REM Usage: tail.bat <file> <number-of-lines>
REM
REM Examples: tail.bat myfile.txt 10
REM tail.bat "C:\My File\With\Spaces.txt" 10
@ECHO OFF
for /f "tokens=2-3 delims=:" %%f in ('find /c /v "" %1') do (
for %%F in (%%f %%g) do set nbLines=%%F )
set /a nbSkippedLines=%nbLines%-%2
for /f "usebackq skip=%nbSkippedLines% delims=" %%d in (%1) do echo %%d
Ini adalah kumpulan dari penjelasan sebelumnya. Ini menampilkan 10 baris terakhir dari file saat ini: ____ untuk / f "token = 3" %% f in ('find / c / v ""% 0') lakukan set nbLines = %% f ____ set / a nbSkippedLines = % nbLines% -10 ____ untuk / f "lewati =% nbSkippedLines% delims =" %% d di (% 0) lakukan gema %% d
Nicolas
1
Inilah yang diinginkan oleh poster itu, dan ia bekerja dengan baik.
Jackie Yeh
Terima kasih untuk kodenya! Saya menambahkannya ke jawaban dengan nomor parameter yang dikoreksi dan satu lagi ke jumlah baris. Perhatikan itu akan menampilkan garis keluar. PS: Saya menggunakannya untuk mengekor file 1.5Gb dan mendapatkan hasilnya hanya dalam 15 detik.
Leopoldo Sanczyk
Sebenarnya, pada langkah # 4 akan lebih baik saya pikir untuk menggunakan perintah 'lebih' yang mengambil parameter untuk jumlah baris untuk dilewati. Bahkan lebih cepat saya akan berpikir.
Philibert Perusse
8
Saya telah menggunakan Mtail baru-baru ini dan tampaknya berfungsi dengan baik. Ini adalah tipe GUI seperti baretail yang disebutkan di atas.
Ini memiliki masalah pada Win7 dan yang lebih baru.
Doug Wilson
1
Betulkah? Anda kehabisan suara untuk memilih jawaban empat tahun? Cara untuk berkontribusi.
Dave
9
@Dave: Meskipun pertanyaannya sudah lama, orang-orang masih mencari untuk mencoba menemukan jawaban terbaik. Jika jawaban dari hampir 5 tahun yang lalu sudah tidak relevan atau tidak bagus lagi, mengapa kita tidak perlu menurunkannya? Seluruh situs ini adalah tentang mendapatkan informasi berharga lebih cepat - hari ini, bukan 5 tahun yang lalu.
Oliver
1
@ Hellfire - Anda harus mengedit jawaban dengan ketentuan bahwa itu tidak berfungsi dengan Windows 7. Ini konyol untuk hanya berkomentar.
DOS typeberfungsi seperti * nux's cat, meskipun sama seperti cat, ia membuang seluruh file, jadi itu tidak benar tail, tetapi akan tersedia dalam keadaan darurat tanpa mengunduh / menginstal tailpengganti yang benar .
Saya baru saja menulis skrip batch kecil ini. Itu tidak secanggih Unix "tail", tetapi mudah-mudahan seseorang dapat menambahkannya untuk memperbaikinya, seperti membatasi output ke 10 baris terakhir file, dll. Jika Anda benar-benar memperbaiki skrip ini, silakan kirim bagi saya di merampok ~ [at] ~ gmail.com.
@echo off
:: This is a batch script I wrote to mimic the 'tail' UNIX command.
:: It is far from perfect, but I am posting it in the hopes that it will
:: be improved by other people. This was designed to work on Windows 7.
:: I have not tested it on any other versions of Windows
if "%1" == "" goto noarg
if "%1" == "/?" goto help
if "%1" == "-?" goto help
if NOT EXIST %1 goto notfound
set taildelay=%2
if "%taildelay%"=="" set taildelay=1
:loop
cls
type %1
:: I use the CHOICE command to create a delay in batch.
CHOICE /C YN /D Y /N /T %taildelay%
goto loop
:: Error handlers
:noarg
echo No arguments given. Try /? for help.
goto die
:notfound
echo The file '%1' could not be found.
goto die
:: Help text
:help
echo TAIL filename [seconds]
:: I use the call more pipe as a way to insert blank lines since echo. doesnt
:: seem to work on Windows 7
call | more
echo Description:
echo This is a Windows version of the UNIX 'tail' command.
echo Written completely from scratch by Andrey G.
call | more
echo Parameters:
echo filename The name of the file to display
call | more
echo [seconds] The number of seconds to delay before reloading the
echo file and displaying it again. Default is set to 1
call | more
echo ú /? Displays this help message
call | more
echo NOTE:
echo To exit while TAIL is running, press CTRL+C.
call | more
echo Example:
echo TAIL foo 5
call | more
echo Will display the contents of the file 'foo',
echo refreshing every 5 seconds.
call | more
:: This is the end
:die
ide bagus menggunakan perintah "ketik", tetapi Anda tidak dapat menyalurkannya!
eadmaster
Ini hanya memuat ulang file teks.
versi batch dari gema memiliki perilaku yang aneh, jika tidak diberikan argumen itu hanya keluar, tetapi jika Anda memanggil perintah echo.dengan trailing dot pada kata (dan bukan sebagai argumen terpisah) itu akan mencetak satu baris baru.
Penampil log grafis, walaupun mereka sangat baik untuk melihat file log, tidak memenuhi kebutuhan akan utilitas baris perintah yang dapat dimasukkan ke dalam skrip (atau file batch). Seringkali perintah yang sederhana dan bertujuan umum seperti itu dapat digunakan sebagai bagian dari solusi khusus untuk lingkungan tertentu. Metode grafis tidak cocok untuk digunakan seperti itu.
Saya pikir saya telah menemukan sebuah utilitas yang memenuhi kebutuhan untuk fungsi ekor dalam file batch. Ini disebut "mtee", dan gratis. Saya telah memasukkannya ke dalam file batch yang sedang saya kerjakan dan melakukan pekerjaan dengan sangat baik. Pastikan untuk meletakkan executable ke direktori dalam pernyataan PATH, dan pergilah.
Jawaban:
Saya sarankan menginstal sesuatu seperti Utilitas GNU untuk Win32 . Ini memiliki sebagian besar favorit, termasuk ekor.
sumber
tail
pada file 2GB dan tersedak.more
bekerja dengan baik (setidaknya melihat awal file).head
tetapi tidaktail
... Gagasan?tail
:)Jika Anda menggunakan PowerShell maka ini berfungsi:
Posting komentar Stefan dari bawah, jadi orang tidak ketinggalan
PowerShell 3 memperkenalkan parameter -Tail untuk memasukkan hanya x baris terakhir
sumber
tail
bisa berguna) (2) tidak se dinamis yang saya inginkan (mungkin karena perubahan OS / sistem file antara pengaturan saya dan poster lainnya ?). Yaitu, saya memutuskan bahwa shellGet-Content
tidak melakukan pembaruan sampai saya jalankandir
di shell lain.Get-Content -Tail 100 -Wait .\logfile.log
?Saya selalu menggunakan Baretail untuk tailing di Windows. Gratis dan cukup bagus.
Sunting: untuk deskripsi Baretail yang lebih baik, lihat
pertanyaan inisumber
Anda bisa mendapatkan ekor sebagai bagian dari Cygwin .
sumber
Siapa pun yang tertarik pada ekor CMD
DOSmenggunakan perintah batch (lihat di bawah).Itu bukan prefek, dan garis kadang-kadang berulang.
Penggunaan: tail.bat -d tail.bat -f -f
sumber
ping 127.0.0.1 -n 2 > nul
sebelumnyagoto followloop
. ia mengirim dua ping dan menunggu 1 detik di antaranya. jadi itu akan membiarkan cpu hidup!: Dtimeout /t 2
?Ada cukup banyak opsi, namun semuanya memiliki kekurangan dengan fitur yang lebih canggih.
Ekor GnuWin32 buggy ( α β γ ) - hal-hal seperti -f saja tidak berfungsi.
Ekor UnxUtils tampaknya lebih baik (-f berfungsi, tetapi --pid tampaknya tidak, -n tetapi tidak --lines = n gagal dengan -f), tetapi tampaknya merupakan proyek mati.
Cygwin adalah bubur besar jelek, mungkin hanya bisa menggunakan paket DLL dan coreutils - tetapi masih memiliki masalah seperti --pid tidak bekerja dengan proses win32 asli.
sumber
Saya telah menggunakan Tail Untuk Windows . Tentu tidak seanggun menggunakan
tapi kemudian, Anda menggunakan Windows. ;)sumber
Dengan Windows PowerShell Anda dapat menggunakan:
sumber
Saya belum melihat Ahli Log di antara jawaban di sini.
Ini dapat disesuaikan dan cukup baik untuk berkeliling file log. Sejauh ini adalah penampil log grafis Windows terbaik untuk saya.
Sayangnya, perangkat lunak ini tidak lagi tersedia. Anda dapat membacanya di archive.org .
sumber
Jika Anda tidak ingin menginstal apa pun, Anda dapat "membuat sendiri" file batch yang berfungsi dari perintah Windows standar. Berikut adalah beberapa petunjuk bagaimana melakukannya.
1) Menggunakan find / c / v "" yourinput.file , dapatkan jumlah baris dalam file input Anda. Outputnya seperti:
2) Menggunakan for / f , parsing output ini untuk mendapatkan angka 15.
3) Dengan menggunakan set / a , hitung jumlah garis head yang perlu dilewati
4) Menggunakan for / f "skip = n" melewati garis kepala dan gema / proses garis ekor.
Jika saya menemukan waktu, saya akan membangun file batch dan mengirimnya kembali ke sini.
EDIT:
tail.bat
sumber
Saya telah menggunakan Mtail baru-baru ini dan tampaknya berfungsi dengan baik. Ini adalah tipe GUI seperti baretail yang disebutkan di atas.
sumber
Unduh perintah tail, bagian dari
Windows Server 2003 Resource Kit Tools
dari Microsoft sendiri.sumber
Coba Layanan Windows untuk UNIX . Memberikan kerang, awk, sed, dll, serta ekor.
Pembaruan -: Sayangnya, pada 2019 sistem ini tidak lagi tersedia di Pusat Unduhan Microsoft.
sumber
Saya lebih suka TailMe karena kemungkinan untuk menonton beberapa file log secara bersamaan dalam satu jendela: http://www.dschensky.de/Software/Staff/tailme_en.htm
sumber
DOS tidak memiliki perintah ekor; Anda dapat mengunduh biner Windows untuk GNU tail dan alat GNU lainnya di sini .
sumber
Pilihan lain adalah menginstal MSYS (yang lebih leightweight daripada Cygwin).
sumber
DOS
type
berfungsi seperti * nux'scat
, meskipun sama seperticat
, ia membuang seluruh file, jadi itu tidak benartail
, tetapi akan tersedia dalam keadaan darurat tanpa mengunduh / menginstaltail
pengganti yang benar .sumber
Saya baru saja menulis skrip batch kecil ini. Itu tidak secanggih Unix "tail", tetapi mudah-mudahan seseorang dapat menambahkannya untuk memperbaikinya, seperti membatasi output ke 10 baris terakhir file, dll. Jika Anda benar-benar memperbaiki skrip ini, silakan kirim bagi saya di merampok ~ [at] ~ gmail.com.
sumber
echo.
dengan trailing dot pada kata (dan bukan sebagai argumen terpisah) itu akan mencetak satu baris baru.The
tail
perintah dan banyak lainnya yang tersedia di Windows Resource Kit alat paket.sumber
Jika Anda ingin menggunakan port Win32 dari beberapa utilitas Unix (daripada menginstal Cygwin), saya merekomendasikan utilitas GNU untuk Win32 .
Bobot lebih ringan dari Cygwin dan lebih portabel.
sumber
Instal MKS Toolkit ... Agar Anda dapat menjalankan semua perintah Unix di Windows.
Perintahnya adalah:
sumber
Di Far Manager , tekan F3pada file untuk masuk ke penampil standar, lalu Endtombol untuk menavigasi ke akhir file.
Jika file diperbarui, Far Manager akan menggulirnya secara otomatis.
sumber
Saya menggunakan Kiwi Log Viewer . Gratis.
sumber
Penampil log grafis, walaupun mereka sangat baik untuk melihat file log, tidak memenuhi kebutuhan akan utilitas baris perintah yang dapat dimasukkan ke dalam skrip (atau file batch). Seringkali perintah yang sederhana dan bertujuan umum seperti itu dapat digunakan sebagai bagian dari solusi khusus untuk lingkungan tertentu. Metode grafis tidak cocok untuk digunakan seperti itu.
sumber
Anda dapat mencoba WinTail juga.
ََ
sumber
Saya pikir saya telah menemukan sebuah utilitas yang memenuhi kebutuhan untuk fungsi ekor dalam file batch. Ini disebut "mtee", dan gratis. Saya telah memasukkannya ke dalam file batch yang sedang saya kerjakan dan melakukan pekerjaan dengan sangat baik. Pastikan untuk meletakkan executable ke direktori dalam pernyataan PATH, dan pergilah.
Inilah tautannya:
mtee
sumber