ذيل ملفات متعددة في Centos
-
05-09-2019 - |
سؤال
أريد أن ذيل ملفات متعددة (واتبعها) في Centos، لقد جربت هذا:
ذيل -f file1 file2 file3
لكن الناتج غير ودي للغاية
لقد ألقيت أيضا نظرة على Multitail ولكن لا يمكنني العثور على إصدار Centos.
ما هي الخيارات الأخرى التي لدي؟
المحلول
تتوفر Multitail مقابل Centos في Rpmforge Repos. لإضافة فحص RPMForge مستودع الوثائق على مستودعات الطرف الثالث.
نصائح أخرى
لقد وجدت الحل الموصوف هنا يعمل بشكل جيد في Centos:
بفضل راميش ناتاراجان
$ vi multi-tail.sh
#!/bin/sh
# When this exits, exit all back ground process also.
trap 'kill $(jobs -p)' EXIT
# iterate through the each given file names,
for file in "$@"
do
# show tails of each in background.
tail -f $file &
done
# wait .. until CTRL+C
wait
يمكنك محاكاة Multitail عن طريق فتح مثيلات متعددة من الذيل -F في EMACS Subwindows.
عادة ما افتح فقط Xterm وتشغيل "ذيل" منفصل هناك.
خلاف ذلك إذا كنت أستخدم أداة "الشاشة"، فسأقوم بإعداد أوامر منفصلة "ذيل -ف" هناك. لا أحب ذلك بنفس القدر لأنها تستغرق بعض ضغطات المفاتيح لتمكين التمرير في الشاشة قبل استخدام مفاتيح الصفحة لأعلى وأسفل الصفحة. أفضل استخدام شريط التمرير الخاص ب Xterm.
يمكنك استخدام الأمر WATCH، واستخدمها لذيل ملفين في نفس الوقت:
مشاهدة -n0 الذيل -n30 file1 file2
إجابة أفضل لسؤال قديم ...
أقوم بإنشاء وظيفة شل في بلدي .bashrc (من الواضح أن كنت تستخدم bash as shell الخاص بك) واستخدم tmux. من المحتمل أن تقضي هذا كثيرا في الكثير ويفعل ذلك بدون tempfile، لكن الاقتباس قبيحا إذا كنت تحاول التأكد من أن الملفات ذات المسافات أو الأحرف الغريبة الأخرى في الاسم لا يزال يعمل.
multitail ()
{
cmdfile=`mktemp`
echo "new-session -d \"tail -f '$1'\"" >$cmdfile
shift
for file in "$@"
do
echo "split-window -d \"tail -f '$file'\"" >>$cmdfile
done
echo "select-layout even-vertical" >>$cmdfile
tmux source-file $cmdfile \; attach && rm -f $cmdfile
}