লাইভ-এফ 1 এর আউটপুট কীভাবে একটি ফাইলে লিখবেন


10

আমি টার্মিনালটি খুললাম এবং লাইভ-এফ 1 চালিয়েছি যা টার্মিনালে লাইভ ফিড প্রদর্শন করে (পাঠ্য) যা প্রতি সেকেন্ডে পরিবর্তিত হয়। এই প্রোগ্রামটি চলাকালীন কেবল "এন্টার" কী ব্যবহার করা যেতে পারে (এটি সেই প্রোগ্রামটি থেকে প্রস্থান করে)। সুতরাং আপনি কনসোলে আর কিছু টাইপ করতে পারবেন না।

আমি টার্মিনাল বিষয়বস্তু প্রতি সেকেন্ডের মতো একটি ফাইলে লিখতে চাই।

আমি এটা কিভাবে করবো?

২ য় কনসোল খোলার মাধ্যমে এবং কিছু কমান্ড ব্যবহার করে?

সেটটার্ম -ডাম্প কমান্ড দিয়ে এটি কাজ করতে পারে না।

উত্তর:


8

live-f1টার্মিনাল কন্ট্রোল ক্যারেক্টার (ncurses), ঠিক যেমন topবা ব্যবহার করে স্ক্রিনটিকে নতুন ডেটা দিয়ে পুনরায় আঁকুন mtr। কোন ফাইল বা নন টার্মিনাল ডিভাইসে পুনর্নির্দেশের সময় আপনি এই সমস্ত আবর্জনা দেখেন।

দুর্ভাগ্যক্রমে, live-f1পরিসংখ্যান এবং এ জাতীয় জন্য ডেটা সংরক্ষণের জন্য উপযুক্ত আউটপুট পাওয়ার জন্য কোনও বিকল্প সরবরাহ করে না। আপনি যদি এখনও আউটপুটটিকে পরে পুনরায় খেলতে চান তবে আপনি এটি ব্যবহার করতে পারেন script

এটি লাইভ-এফ 1 রেকর্ড করবে এবং টাইপস্ক্রিপ্ট এবং টাইমিংফাইল দুটি ফাইল তৈরি করবে।

script -c live-f1 -t 2> timingfile

এটি আউটপুট পুনরায় খেলবে

scriptreplay timingfile

7

এমন কয়েকটি উপায় আছে যা আমি কোনও ফাইলে আউটপুট ক্যাপচার করতে ব্যবহার করি যা আপনার কাজে লাগতে পারে।

script

এটি একটি সাব-শেল তৈরি করে এবং এতে সমস্ত আউটপুট .ুকিয়ে দেয়। সুতরাং scriptআপনি যা চান তাই করুন , তারপরে exitআপনার সাবশেলটি শেষ করুন এবং আপনার আউটপুট "টাইপস্ক্রিপ্ট" নামক কোনও ফাইলে থাকবে

tee

আপনি পাইপের সমস্তটিকে অন্য কোথাও প্রতিধ্বনিত করতে পারেন। সুতরাং আপনি teeএকটি ফাইলের মধ্যে আপনার স্ট্যান্ডার্ড আউটপুট বন্ধ করতে পারেন :

$ mycommand | tee myoutput

যদি আপনার পাশাপাশি মানক ত্রুটি ক্যাপচার করতে হয় তবে এটি পুনর্নির্দেশ করুন:

$ mycommand 2>&1 | tee myoutput

6

প্রোগ্রামটি এভাবে চালানো সম্পর্কে কীভাবে:

program > /path/to/file

এই আউটপুট পুননির্দেশনা programকরার /path/to/fileসঙ্গে সঙ্গে।

এবং আপনি যদি নিজের টার্মিনালে আউটপুট রাখতে চান তবে পাশাপাশি এটি একটি ফাইলে সংরক্ষণ করুন। পরীক্ষা করে দেখুন সেখানে পুনর্নির্দেশ আউটপুট থেকে ব্যাশ একটি উপায় এবং এখনও এটি stdout- এ যান আছে?


দ্রুত উত্তরের জন্য আপনাকে ধন্যবাদ। এটি প্রায়শই কাজ করে, কেবল ফাইলের বিষয়বস্তুগুলি কিছুটা ম্যাঙ্গালড। এটি এইচটিএমএলে থাকা উচিত, তবে পরিবর্তে, আমি যখন ফাইলটি খুলি তখন কিছু অদ্ভুত চিহ্ন রয়েছে, স্ক্রিনশটটি দেখুন: upload.ee/image/1223166/ss_01.png । প্রোগ্রামের নাম লাইভ-এফ 1।
গুস্তাভ

মজার লাগছে। আপনি কি নিশ্চিত যে প্রোগ্রামটি কেবল এইচটিএমএলকে আউটপুট দেয়? কোন অ্যানিমেশন বা অদ্ভুত কিছু আছে?
ফুনেহে

এটি কেবল স্ট্যান্ডার্ড আউটপুট পুনর্নির্দেশ করবে। স্ট্যান্ডার্ড ত্রুটি এছাড়াও প্রয়োজনীয়?
ফাহিম মিঠা

2
@ গুস্তাভ সেখানেও এএনএসআই কোড আটকে আছে। হয় আপনার অ্যাপ্লিকেশনটি কোনও প্রকারের অগ্রগতির কাউন্টারকে আউটপুট দেয় (যা দেখতে এটির মতো দেখাচ্ছে), বা এর আউটপুটকে রঙ দেয় বা অনুরূপ। যদি এটি বন্ধ করার কোনও উপায় থাকে তবে আপনাকে পরিষ্কার আউটপুট ক্যাপচার করতে এটি ব্যবহার করতে হবে। আপনার অ্যাপ্লিকেশন যদিও এইচটিএমএল আউটপুট দেয় না, সুতরাং এইচটিএমএল ক্যাপচার করার জন্য আউটপুট অনুবাদ করার জন্য আপনাকে অন্য কিছু অ্যাপ্লিকেশন প্রয়োজন।
ম্যাথু শার্লে

কেন আমি এটি এইচটিএমএল করছি, কারণ আমি এটি এক বছর আগে কাজ পেয়েছিলাম, কিন্তু যেখানে ডিস্কে আমার কর্মজীবন ছিল সেগুলি পুনরায় ফর্ম্যাট করে। আমার লক্ষ্যটি হ'ল লাইভ-এফ 1 ফিড থেকে একটি ফাইলে ফর্মুলা 1 ড্রাইভারের অবস্থান নেওয়া। আমি গত বছর এটি 1 ম টার্মিনালে লাইভ-এফ 1 প্রোগ্রাম চালিয়ে, তারপর 2 য় টার্মিনালটি জ্বালিয়ে দিয়ে কিছু কমান্ড ব্যবহার করে 1 ম টার্মিনাল স্ক্রিনটি ক্যাপচার করে একটি ফাইলে সংরক্ষণ করেছি (গত বছরের ফাইল থেকে অনুলিপি: আপলোড.আইডাউনলোড / 1223347 /0b6545ce227661452c8/html.log )। কমান্ডটি ছিল এরকম কিছু: tty "1 ম টার্মিনাল পয়েন্টার" "ফাইলের নাম" "অন্তর"
গুস্তাভ

3

লগিং কার্যকারিতা সহ আপনি জিএনইউ স্ক্রিন ব্যবহার করতে পারেন । আরও খেয়াল করুন যে কমান্ডটি আপনাকে আউটপুট ডিস্কে প্রায়শই চালিত হয় তা নিয়ন্ত্রণ করতে দেয়। স্ক্রিন ব্যবহারকারীর ম্যানুয়াল থেকে:logfile flush secs

- কমান্ড: লগফিল ফ্লাশ সেকেন্ড

লগ ফাইলগুলি নামটি নির্ধারণ করে। ডিফল্ট হ'ল স্ক্রিনলগ।% এন '। দ্বিতীয় ফর্মটি ফাইল-সিস্টেমে লগফিল বাফারটি ফ্লাশ করার আগে সেকেন্ডের স্ক্রিনের সংখ্যাটি পরিবর্তিত করবে। ডিফল্ট মান 10 সেকেন্ড।


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