আউটপুট ফাইলে কীভাবে অর্ডিক আউটপুট (পর্যায়ক্রমিক, অবিচ্ছিন্ন ইনপুট সহ) পাইপ করবেন?


10

আমি একটি কমান্ড লেখার চেষ্টা করছি যা একটি মুক্ত কমান্ডের (প্রতিটি সেকেন্ড চালানো) অবিচ্ছিন্ন আউটপুট পাইপ করে একটি অর্ডিক কমান্ডে যা একটি নির্দিষ্ট মান (উপলব্ধ ফ্রি মেমরি উপলব্ধ) এবং একটি টাইমস্ট্যাম্প সহ একটি ফাইলে আউটপুট দেয়। কমান্ডে আমার বর্তমান প্রচেষ্টা এখানে:

free -mto -s 1 | awk '/Mem/ { print strftime("%r") "," $4 }' >>memOut

এবং বিকল্পভাবে, কিছুটা গুগলিংয়ের পরে

free -mto -s 1 | awk '/Mem/ { print strftime("%r") "," $4 >>"memOut"}'

প্রতিটি রান খালি ফাইল উত্পাদন করে। কোন পরামর্শ বা সম্ভবত বিভিন্ন পদ্ধতি?

উত্তর:


13

memOutমৃত্যুদন্ড কার্যকর করার সময় আপনাকে কিছু দেখতে বাফার ফ্লাশ করতে হবে :

free -mto -s 1 | awk '/Mem/ { print strftime("%r") "," $4; fflush(stdout) }' >> memOut

এখানে একটি বিকল্প সংস্করণ:

while sleep 1; do sed -n "s/MemFree: */`date`, /p" /proc/meminfo; done >> memOut

এটি আমাকে চেয়েছিল আউটপুট ফাইলটি দিয়েছে gave ধন্যবাদ!
চিহ্নিত করুন

3

পুরানো সংস্করণগুলির জন্য awkআপনাকে ব্যবহার করতে হতে পারে system("")

প্রকৃতপক্ষে, fflush(stdout)কেবলমাত্র সাম্প্রতিক সংস্করণগুলির জন্য awkএবং gawkএটি ডিসেম্বর ২০১২ থেকে কেবল পসিক্স স্ট্যান্ডার্ড হিসাবে রয়েছে।

free -mto -s 1 | awk '/Mem/ { 
    print strftime("%r") "," $4;
    system(""); # Flush output
}' >> memOut

লক্ষ্য করুন ব্যবহার system("")flushes প্রতিটি ফাইল বর্ণনাকারী, তার পূর্ণ বিবরণ রয়েছে gawkম্যানুয়াল, বিভাগ "9.1.4 ইনপুট / আউটপুট ফাংশন"।


3

awkপাইপগুলির -W interactiveসাহায্যে অসম্পূর্ণ অপারেশন সক্ষম করতে আপনাকে কয়েকটি কমান্ড লাইন পতাকা যুক্ত করতে হবে (উদাহরণস্বরূপ mawk 1.3.3) এর কয়েকটি সংস্করণে ।


2

আপনি কেবল যা চান তা যাচ্ছেন এবং আপনি সুনির্দিষ্টভাবে বলেছিলেন তা নয় তা নিশ্চিত করার জন্য।

আপনি যদি প্রোগ্রামগুলির জন্য সিস্টেমে উপলব্ধ মেমরিটি জানতে চান তবে এটি আরও উপযুক্ত হতে পারে:

free -m -s 1 | awk '/buffers\/cache/ { print strftime("%r") "," $4; fflush(stdout) }' >> memOut

মেম লাইনের ব্যবহৃত কলামে ক্যাশ এবং বাফার অন্তর্ভুক্ত রয়েছে এবং বেশিরভাগ ক্ষেত্রে যখন আপনি প্রদত্ত কম্পিউটার / টাস্কের জন্য মেমরির ব্যবহার নিরীক্ষণ করতে চান সেগুলি অন্তত নোট করা উচিত।

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