मैं यूनिक्स 'टेल' कमांड के बराबर की तलाश कर रहा हूं जो मुझे लॉग फाइल के आउटपुट को देखने की अनुमति देगा जबकि इसे लिखा जा रहा है।
मैं यूनिक्स 'टेल' कमांड के बराबर की तलाश कर रहा हूं जो मुझे लॉग फाइल के आउटपुट को देखने की अनुमति देगा जबकि इसे लिखा जा रहा है।
जवाबों:
मैं Win32 के लिए GNU यूटिलिटीज की तरह कुछ स्थापित करने का सुझाव दूंगा । यह पूंछ सहित सबसे पसंदीदा है।
tail
2GB फ़ाइल पर GNU का उपयोग करने की कोशिश की और यह घुट गया। more
ठीक काम किया (कम से कम फ़ाइल की शुरुआत को देखते हुए)।
head
नहीं tail
?
tail
:)
यदि आप PowerShell का उपयोग करते हैं तो यह काम करता है:
Get-Content filenamehere -Wait -Tail 30
स्टीफन की टिप्पणी को नीचे से पोस्ट करना, ताकि लोग इसे याद न करें
PowerShell 3 केवल अंतिम x पंक्तियों को शामिल करने के लिए एक -टाल पैरामीटर पेश करता है
tail
उपयोगी हो सकता है) (2) यह उतना गतिशील नहीं है जितना मैं चाहूंगा (शायद मेरे सेटअप और अन्य पोस्टरों के बीच ओएस / फाइल सिस्टम में बदलाव के कारण) ?)। यही है, मैंने निर्धारित किया कि Get-Content
जब तक मैं dir
किसी अन्य शेल में नहीं चलता तब तक शेल कर रहा है ।
Get-Content -Tail 100 -Wait .\logfile.log
?
मैंने हमेशा विंडोज में पूँछ लगाने के लिए Baretail का उपयोग किया है । यह मुफ़्त है और बहुत अच्छा है।
संपादित करें: Baretail के बेहतर विवरण के लिए यह प्रश्न देखें
आप सिग्विन के हिस्से के रूप में पूंछ प्राप्त कर सकते हैं ।
बैच कमांड्स (नीचे देखें) का उपयोग करके DOS CMD टेल में रुचि रखने वाला कोई भी व्यक्ति ।
यह प्रीफेक्ट नहीं है, और कुछ समय बाद लाइनें दोहराती हैं।
उपयोग: 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
ping 127.0.0.1 -n 2 > nul
पहले जोड़ा goto followloop
। यह दो पिंग भेजता है और 1 सेकंड के बीच इंतजार करता है। तो यह सीपीयू को जीवित रहने
timeout /t 2
?
काफी सारे विकल्प हैं, हालांकि उनमें से सभी में अधिक उन्नत सुविधाओं के साथ खामियां हैं।
GnuWin32 पूंछ गाड़ी है ( अल्फा बीटा गामा ) - -f तरह बातें सिर्फ सादा काम नहीं करते।
UnxUtils की पूंछ बेहतर लगती है (-f काम करता है, लेकिन --id लगता है कि नहीं, -n लेकिन नहीं --lines = n -f के साथ विफल रहता है), लेकिन एक मृत परियोजना प्रतीत होती है।
साइग्विन एक बड़ा बदसूरत फल है, शायद डीएलएल और कोरुटिल्स पैकेज का उपयोग कर सकता है - लेकिन अभी भी समस्या है - जैसे कि मूल win32 प्रक्रियाओं के साथ काम नहीं कर रहा है।
मैंने विंडोज के लिए टेल का इस्तेमाल किया है । निश्चित रूप से उपयोग के रूप में सुरुचिपूर्ण नहीं है
पूंछलेकिन फिर, आप विंडोज का उपयोग कर रहे हैं। ;)
मैंने जवाबों के बीच कहीं भी लॉग एक्सपर्ट नहीं देखा है।
यह अनुकूलन योग्य है और लॉग फ़ाइलों के आसपास जाने के लिए काफी अच्छा है। अब तक यह मेरे लिए सबसे अच्छा विंडोज ग्राफिकल लॉग दर्शक है।
दुर्भाग्य से, यह सॉफ़्टवेयर अब उपलब्ध नहीं है। आप इसके बारे में आर्काइव.ऑर्ग पर पढ़ सकते हैं ।
यदि आप कुछ भी स्थापित नहीं करना चाहते हैं तो आप मानक विंडोज कमांड से "अपनी खुद की" बैच फ़ाइल का निर्माण कर सकते हैं। यहाँ कुछ संकेत हैं कि यह कैसे करना है।
1) find / c / v "" yourinput.file का उपयोग करके , अपनी इनपुट फ़ाइल में लाइनों की संख्या प्राप्त करें। आउटपुट कुछ इस तरह है:
---------- T.TXT: 15
2) / एफ के लिए उपयोग करते हुए , 15 नंबर पाने के लिए इस आउटपुट को पार्स करें।
3) सेट / ए का उपयोग करके , सिर की रेखाओं की संख्या की गणना करें जिन्हें छोड़ना आवश्यक है
4) के लिए / f "स्किप = एन" का उपयोग करके हेड लाइन्स को छोड़ें और टेल लाइन्स को इको / प्रोसेस करें।
अगर मुझे समय मिलता है, तो मैं इस तरह की एक बैच फ़ाइल बनाऊंगा और इसे यहाँ पोस्ट करूँगा।
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
डाउनलोड पूंछ आदेश, के हिस्से Windows Server 2003 Resource Kit Tools
से माइक्रोसॉफ्ट ही।
UNIX के लिए Windows सेवाएँ आज़माएँ । पूंछ के रूप में गोले, awk, sed, आदि प्रदान करता है।
अद्यतन -: दुर्भाग्य से, 2019 तक यह प्रणाली Microsoft डाउनलोड केंद्र पर उपलब्ध नहीं है।
मैं एक विंडो में एक साथ कई लॉग फाइल देखने की संभावना के कारण TailMe को पसंद करता हूं: http://www.dschensky.de/Software/Staff/tailme_en.htm
डॉस की कोई पूंछ कमांड नहीं है; आप GNU टेल और अन्य GNU टूल्स के लिए विंडोज बाइनरी डाउनलोड कर सकते हैं ।
एक अन्य विकल्प MSYS स्थापित करना होगा (जो साइगविन की तुलना में अधिक लेवीवेट है)।
मैंने बस इस छोटी सी स्क्रिप्ट को लिखा था। यह यूनिक्स "पूंछ" की तरह परिष्कृत नहीं है, लेकिन उम्मीद है कि कोई इसे सुधारने के लिए इसमें जोड़ सकता है, जैसे आउटपुट को फ़ाइल की अंतिम 10 लाइनों तक सीमित करना, आदि। यदि आप इस स्क्रिप्ट में सुधार करते हैं, तो कृपया इसे भेजें मुझे लूटने में ~ [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
echo.
शब्द पर अनुगामी बिंदु के रूप में कमांड (और एक अलग तर्क के रूप में नहीं) कहते हैं, तो यह एक नई पंक्ति को प्रिंट करेगा।
tail
आदेश और कई अन्य लोगों में उपलब्ध हैं विंडोज संसाधन किट उपकरण पैकेज।
यदि आप कुछ यूनिक्स उपयोगिताओं के Win32 बंदरगाहों (सिगविन स्थापित करने के बजाय) का उपयोग करना चाहते हैं, तो मैं Win32 के लिए GNU उपयोगिताओं की सलाह देता हूं ।
साइगविन की तुलना में हल्का वजन और अधिक पोर्टेबल।
MKS टूलकिट स्थापित करें ... ताकि आप विंडोज पर सभी यूनिक्स कमांड चला सकें।
आदेश है:
tail -f <file-name>
में सुदूर प्रबंधक , प्रेस F3एक फ़ाइल पर मानक दर्शक प्रवेश करने के लिए है, तोEnd फ़ाइल के अंत में नेविगेट करने के लिए महत्वपूर्ण।
यदि फ़ाइल अपडेट की जाती है, तो Far Manager इसे स्वचालित रूप से स्क्रॉल करेगा।
मैं कीवी लॉग व्यूअर का उपयोग कर रहा हूं । यह निःशुल्क है।
ग्राफ़िकल लॉग दर्शक, जबकि वे लॉग फ़ाइलों को देखने के लिए बहुत अच्छे हो सकते हैं, कमांड लाइन उपयोगिता की आवश्यकता को पूरा नहीं करते हैं जिन्हें स्क्रिप्ट (या बैच फ़ाइलों) में शामिल किया जा सकता है। अक्सर इस तरह के एक सरल और सामान्य-उद्देश्य कमांड का उपयोग किसी विशेष वातावरण के लिए विशेष समाधान के हिस्से के रूप में किया जा सकता है। चित्रमय विधियाँ ऐसे उपयोग के लिए स्वयं को आसानी से उधार नहीं देती हैं।
मुझे लगता है कि मुझे एक उपयोगिता मिल गई है जो बैच फ़ाइलों में टेल फ़ंक्शन की आवश्यकता को पूरा करती है। इसे "मैटी" कहा जाता है, और यह मुफ़्त है। मैंने इसे एक बैच फ़ाइल में शामिल किया है जिस पर मैं काम कर रहा हूं और यह बहुत अच्छी तरह से काम करता है। बस निष्पादन निर्देशिका को PATH विवरण में एक निर्देशिका में रखना सुनिश्चित करें, और आप चले जाएं।
यहाँ लिंक है: