একটি ফাইল বিদ্যমান থাকার জন্য লেজ অপেক্ষা করুন


25

tail -f bar/somefile.logSomefile.log উপস্থিত না থাকলে অবিলম্বে ব্যর্থ হবে। সেই ফাইলটি তৈরি হওয়ার জন্য আমি কীভাবে অনির্দিষ্টকালের জন্য অপেক্ষা করব (যা কয়েক মুহুর্তে ঘটবে)?

আপডেট: ব্যবহার করে -F, আমি দেখছি:

tail: cannot open `bar/somefile.log' for reading: No such file or directory
tail: cannot watch parent directory of `bar/somefile.log': No such file or directory

কারণ barএখনও বিদ্যমান নেই (এটি কয়েক মুহুর্তে তৈরি হবে)। কখন barতৈরি করা হয়েছিল এবং somefile.logস্পর্শ করা হয়েছিল, লেজগুলি পরিবর্তনগুলি একেবারেই নেয়নি।

উত্তর:


28

এইটা কাজ করে:

while ! tail -f bar/somefile.log ; do sleep 1 ; done

অবশেষে এটিই আমার পক্ষে কাজ করেছে (পিতামাতার ডিরেক্টরি ক্ষেত্রে নিখোঁজ হওয়ার জন্য)।
শ্রীদ

এই ম্যাক জন্য কাজ করবে?
এমক্যাভিকার

31

আপনি কোন ওএসের জন্য এটি প্রয়োজন তা উল্লেখ করছেন না, তবে tailলিনাক্সে --retretry এবং - ফলো বিকল্প রয়েছে যা কেবল এটিই করবে;

tail --retry --follow=name somefile.log

6
ধন্যবাদ, বা tail -F somefile.log। তবে তারপরে, লেজটি অন্য কোনও কারণে ব্যর্থ হয় (আমি আমার প্রশ্নটি আপডেট করেছি)
শ্রীদ বলেছে পুনর্নির্মাণ মনিকা

6

প্রথমে ফাইলটি তৈরি করুন:

touch somefile ; tail -f somefile

দুর্দান্ত মার্জিত যৌক্তিক সমাধান।
কারকম্প
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.