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


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.