টার্মিনাল আউটপুট থেকে কীভাবে আমি প্রয়োজনীয় লাইনটি পুনরুদ্ধার করব?


16

আমি কেবল df -hআউটপুট তৃতীয় লাইন বলতে চাই ।

আমার কোন ধরণের আদেশ ব্যবহার করা উচিত?


16
ভবিষ্যতের জন্য নোট: এই প্রশ্নটি খুব প্রাথমিক। এটি সাধারণত কিছু প্রচেষ্টা এবং জিজ্ঞাসার আগে আপনি কী চেষ্টা করে দেখানোর জন্য উত্সাহিত হয়।
সের্গেই কোলোডিয়াজনি

যদিও অনুমিত স্থিতিশীল ফর্ম্যাট সহ কোনও ফাইলের তৃতীয় লাইন পাওয়া বৈধ হতে পারে, এটি আউটপুট সহ ডায়াগনস্টিক প্রোগ্রামের তৃতীয় লাইনের চেয়ে আলাদা যা সিস্টেমের অবস্থার উপর নির্ভর করে বিভিন্ন। উদাহরণস্বরূপ আপনার বর্তমান তৃতীয় লাইনটি ফুঁকানোর আগে একটি নতুন ড্রাইভ / পার্টিশনটি বর্ণানুক্রমিকভাবে মাউন্ট করা। সুতরাং নীচে @ র্যান্ডম 832 এর উত্তরটি সেরা।
মার্কহু

উত্তর:


31

এটি সামগ্রীতে নির্বিশেষে 3 য় লাইন আউটপুট দেবে।

df -h | sed -n 3p

ক্ষুদ্রতম উত্তর জন্য +1: df -h|sed -n 3p
ইকনস

16

dfকমান্ড আসলে একটি আর্গুমেন্ট ফাইলসিস্টেম যদি আপনি চান চিহ্নিতকরণের গ্রহণ করে। সুতরাং আপনি ব্যবহার করতে পারেন, উদাহরণস্বরূপ, df /homeবাdf /dev/sda3

যদি আপনি কোনও স্ক্রিপ্টের জন্য আউটপুট বিশ্লেষণ করতে চান, আপনি df -Pগ্যারান্টি দিতে ব্যবহার করতে চাইবেন এটি কখনও একাধিক লাইনে আবৃত হয় না। সুতরাং, উদাহরণস্বরূপ, আপনি ব্যবহার করতে পারেন df -Ph /home | tail -n +2(তবে আপনি যদি কোনও স্ক্রিপ্টের জন্য আউটপুট পার্সিং করে থাকেন তবে সেগুলিতে ফাঁকা স্থানের ফাইলের সম্ভাবনা সম্পর্কে সচেতন হন)


2
এটাই! আউটপুট পার্স করার পরিবর্তে, কমান্ড ব্যবহার প্রদান মাত্র আপনি যা চান তা।
ফেডোরকুই

1
তবে ওপি জানিয়েছে যে তিনি ৩ লাইন চেয়েছিলেন df /homeএকটি শিরোনাম সরবরাহ করে। আপনি ব্যবহারকারীর উদ্দেশ্য ব্যাখ্যা করছেন। তুমি ঠিক হতে পারো. আপনি ভুল হতে পারেন, কে জানে?
মাইক এস

@ মাইকস আরও এক ডজন উত্তর ইতিমধ্যে 3 টি লাইন পেয়েছে কোনও প্রসঙ্গে নয়। আমি অতিরিক্ত তথ্য সরবরাহ করেছি যাতে ওপি যদি এটির জন্য কার্যকর হয় তবে তা তা থাকতে পারে। এবং tail -n +2শিরোলেখ অপসারণ করে।
র্যান্ডম 832

14

আপনি headএবং এর সমন্বয় ব্যবহার করতে পারেন tail:

df -h | head -3 | tail -1

অথবা

df -h | tail -n +3 | head -1

তবে মনে রাখবেন যে, নিজের dfঅপশন থেকে আউটপুট ফিল্টার করতে দেয় , dfকোনও বাহ্যিক কমান্ড ব্যবহার করার আগে আপনাকে প্রথমে এগুলি দেখতে হবে।

চেক man df


4
+1 উল্লেখ করার জন্য যে ডিএফ নির্দিষ্ট এন্ট্রিগুলি ফিল্টার করতে পারে
সের্গি কলডিয়াজহনি

2
প্রকৃতপক্ষে, বাহ্যিক প্রোগ্রামগুলিতে পাইপ দেওয়ার আগে ডেটা ফিল্টার করা প্রায় সবসময়ই ভাল।
Zach Mertes


6

আমি ধরে নিলাম আপনি প্রয়োজনীয়ভাবে তৃতীয় লাইনের সন্ধান করছেন না, তবে সেই রেখার জন্য যা নির্দিষ্ট ডিস্ক (যেমন /dev/sda3) বা নির্দিষ্ট মাউন্ট পয়েন্টের উল্লেখ করেছে (উদাঃ/home ) উল্লেখ করেছেন।

সুতরাং আউটপুট ক্রম পরিবর্তিত হতে পারে এবং আপনি অন্যরকম ফলাফল পেতে পারেন এমনটি অনিরাপদ বলে তৃতীয় লাইনটি প্রদর্শন করার পরিবর্তে আপনি সামগ্রী দ্বারা আউটপুট ফিল্টার করতে পারেন এবং নির্দিষ্ট প্যাটার্নের সাথে মেলে এমন কোনও লাইন বা কীওয়ার্ড ধারণ করতে পারেন।

এটির জন্য আপনার সরঞ্জাম grep

উদাহরণস্বরূপ, আপনি যদি ডিভাইস সম্পর্কে লাইনটি চান /dev/sda3, আপনি টাইপ করুন:

df -h | grep '/dev/sda3'

আপনি যদি নিজের হোম ডিরেক্টরিটিকে মাউন্ট পয়েন্ট হিসাবে উল্লেখ করে এমন লাইনটি চান তবে ব্যবহার করুন:

df -h | grep '/home'

3
অথবা df -h /dev/sda3বা df -h /home(পরবর্তীকালে এটি মাউন্ট পয়েন্ট না হলেও এমনকি কাজ করে)।
র্যান্ডম 832

6

আপনি এটি ব্যবহার করতে পারেন perl:

df -h | perl -ne 'print if $.==3' 

এটি $.হ'ল বর্তমান লাইন নম্বর, যাতে আপনি এটি দিয়ে Nth লাইনটি মুদ্রণ করতে পারেন perl -ne 'print if $.==N'


1
এই কারণেই পার্ল এখনও আমার দৃষ্টিতে প্রাসঙ্গিক। এটি একটি কাঠামোগত প্রোগ্রামিং ভাষার সাথে সেড এবং অ্যাজকে একত্রিত করে (যদিও অনেকে বলবেন সত্যই কুশ্রী [এবং আমি সম্মত হতে পারি]) এই সংক্ষিপ্ত ওয়ান-লাইনারগুলির জন্য কমপক্ষে সামঞ্জস্যপূর্ণ এবং খুব দরকারী। ধন্যবাদ টেরডন এটি সিড উদাহরণের মতো প্রায় সংক্ষিপ্তসার, যদি আরও কিছু ভার্বোস থাকে।
মাইক এস

@ মাইকে সাহায্য করতে পেরে আনন্দিত। পার্ল হ্যাকার হিসাবে, তবে অবশ্যই আমাকে অবশ্যই উল্লেখ করতে হবে যে পার্ল কোডটি আপনি যতটা কুৎসিত করেন ঠিক তেমনই কুৎসিত। ভাল প্রোগ্রামাররা পার্লে সুন্দর কোড লিখতে পারে, এটি ঠিক যে ল্যাঙ্গেজ আপনাকে বাধ্য করে না এবং এটি সহজে করা সহজ নয়।
টেরডন

2

আমার প্রথম ধারণাটি একটি মাথা-লেজ-নির্মাণ হবে।

উদাহরণ:

df -h | head -3 | tail -1

head -3 তিন লাইনের পরে আউটপুট থামিয়ে দেয় এবং tail -1 কেবল শেষ লাইনের আউটপুট দেয়।

বিকল্প হিসাবে, যদি আপনি জানেন, আউটপুটটি কেমন দেখাচ্ছে, আপনি grepনির্দিষ্ট স্ট্রিংযুক্ত লাইনগুলি খুঁজতেও ব্যবহার করতে পারেন ।

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