سؤال

أنا أبحث عن ما يعادل أمر Unix 'tail' الذي سيسمح لي بمشاهدة مخرجات ملف السجل أثناء الكتابة إليه.

هل كانت مفيدة؟

المحلول

وأنا أقترح تثبيت شيء من هذا القبيل GNU المرافق ل Win32 . لها معظم المفضلة، بما في ذلك الذيل.

نصائح أخرى

إذا كنت تستخدم بوويرشيل ثم يعمل هذا:

Get-Content filenamehere -Wait -Tail 30

وإرسال تعليق ستيفان من أسفل، من الناس لا تفوت

وبوويرشيل 3 يدخل المعلمة -Tail لتشمل فقط X خطوط الماضية

لقد استخدمت دائما بارتيل للمخلفات في ويندوز.إنه مجاني وجميل جدًا.

يحرر:للحصول على وصف أفضل لـ 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

هناك عدد لا بأس به من الخيارات، ولكن جميعها بها عيوب وميزات أكثر تقدمًا.

  • ال أدوات ويندوز سيرفر 2003 يوفر ذيلًا بسيطًا يمكن أن يكون تم تنزيله باستخدام أدوات مجموعة الموارد.إنه محدود جدًا في كثير من النواحي (يُقفل الملف، ويفتقر إلى العديد من الخيارات مثل --pid)، ومع ذلك فإنه سيفي بالمهمة الأساسية المتمثلة في تتبع الملف.

  • ذيل GnuWin32 هو عربات التي تجرها الدواب (α β γ) - أشياء مثل -f فقط لا تعمل.

  • UnxUtils الذيل يبدو أفضل (-f يعمل، لكن --pid يبدو أنه لا يعمل، -n ولكن ليس --lines=n يفشل مع -f)، ولكن يبدو أنه مشروع ميت.

  • سيجوين هي هريسة قبيحة كبيرة، وربما يمكن فقط استخدام DLL و حزمة coreutils - ولكن لا تزال تواجه مشكلات مثل --pid لا يعمل مع عمليات win32 الأصلية.

ولقد استعملت الذيل لنظام التشغيل Windows . بالتأكيد ليست أنيقة مثل استخدام

tail
لكن بعد ذلك، كنت تستخدم ويندوز. ؛)

وأنا لم أر دخول الخبراء في أي مكان بين الإجابات هنا.

وانها قابلة للتخصيص وهو جيد جدا للذهاب حول ملفات الدخول. حتى الآن هو أفضل ويندوز الرسومية سجل المشاهد بالنسبة لي.

إذا كنت لا ترغب في تثبيت أي شيء على الإطلاق، فيمكنك "إنشاء ملف دفعي خاص بك" يقوم بالمهمة من خلال أوامر Windows القياسية.فيما يلي بعض المؤشرات حول كيفية القيام بذلك.

1) باستخدام ابحث عن /c /v "" yourinput.file, ، احصل على عدد الأسطر في ملف الإدخال الخاص بك.الإخراج شيء مثل:

---------- T.TXT: 15

2) باستخدام ل / و, ، قم بتحليل هذا الإخراج للحصول على الرقم 15.

3) الاستخدام مجموعة / أ, ، احسب عدد السطور الرئيسية التي يجب تخطيها

4) الاستخدام ل/f "تخطي = ن" تخطي خطوط الرأس وقم بصدى/معالجة خطوط الذيل.

إذا وجدت الوقت، سأقوم بإنشاء مثل هذا الملف الدفعي ونشره هنا مرة أخرى.

ومع ل Windows PowerShell يمكنك استخدام:

Get-Content <file> -Wait

ولقد استعملت Mtail مؤخرا، ويبدو للعمل بشكل جيد. هذا هو نوع GUI مثل baretail المذكورة أعلاه.

خدمات Windows ل UNIX . يوفر قذائف، AWK، الحوار الاقتصادي الاستراتيجي، وما إلى ذلك فضلا الذيل.

قم بتنزيل أمر الذيل، جزء من Windows Server 2003 Resource Kit Tools من مايكروسوفت بحد ذاتها.

وأنا أفضل TailMe بسبب احتمال لمشاهدة العديد من الملفات في وقت واحد سجل في إطار واحد: http://www.dschensky.de/Software/Staff/tailme_en.htm

وDOS <م> لديه أي أمر الذيل. يمكنك تحميل ثنائي ويندوز لGNU الذيل وأدوات GNU أخرى هنا .

وثمة خيار آخر يتمثل في تثبيت MSYS (والذي هو أكثر leightweight من سيغوين).

وtype DOS وتعمل مثل cat * جوز، على الرغم تماما مثل cat، فإنه تفريغ الملف بأكمله، حتى انها ليست حقا tail صحيح، لكنه سيكون متاحا في السؤال من دون تحميل / تركيب بديل tail صحيح.

ولقد كتب هذا السيناريو دفعة قليلا. انها ليست متطورة مثل يونيكس "ذيل"، ولكن نأمل شخص يمكن أن تضيف إلى ذلك لتحسينه، مثل الحد من الإخراج إلى خطوط 10 الأخيرة من الملف، وما إذا كنت تفعل تحسين هذا السيناريو، يرجى إرسالها لي في سرقة ~ [في] ~ 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

tail والقيادة وغيرها الكثير متوفرة في في ويندوز الموارد مجموعة أدوات الحزمة.

إذا كنت تريد استخدام الموانئ Win32 وبعض المرافق يونيكس (بدلا من تثبيت سيغوين)، أوصي GNU المرافق ل Win32 .

وأخف وزنا من سيغوين وأكثر المحمولة.

MKS أدوات ... بحيث يمكنك تشغيل أوامر يونكس كل على ويندوز.

والأمر هو:

tail -f <file-name>  

في الأقصى ، اضغط على F3 على ملف لدخول المشاهد العادي، ثم KBD> مفتاح <نهاية للانتقال إلى نهاية الملف.

إذا تم تحديث الملف، ومدير الأقصى انتقل تلقائيا.

وأنا باستخدام الكيوي عارض السجل . أنها حرة.

والمشاهدين سجل الرسومية، في حين أنها قد تكون جيدة جدا لعرض ملفات السجل، لا تلبي الحاجة إلى أداة سطر الأوامر التي يمكن إدراجها في البرامج النصية (أو الملفات الدفعية). في كثير من الأحيان يمكن استخدام مثل بسيطة والقيادة للأغراض العامة كجزء من الحل المتخصصة لبيئة معينة. طرق الرسومية لا تصلح بسهولة لمثل هذا الاستخدام.

وأعتقد أنني قد وجدت الأداة التي تلبي الحاجة إلى وظيفة الذيل في ملفات دفعة واحدة. انه دعا "mtee"، وأنها حرة. لقد دمجه ملف دفعي أنا أعمل على ذلك ويؤدي المهمة بشكل جيد جدا. فقط للتأكد من وضع قابل للتنفيذ إلى دليل في بيان PATH، وتذهب بعيدا.

وهنا على الرابط:

mtee

ويمكنك محاولة WinTail كذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top