এই "…। | পিএস "ক্যাট" কমান্ড করবেন?


10

আমার ইন্টারনেট গবেষণায়, আমি উইন্ডোটির প্রক্রিয়াটির নামটি অনুসন্ধান করার জন্য সমাধান হিসাবে নিম্নলিখিত কমান্ডটি পেয়েছি:

xprop _NET_WM_PID | sed 's/_NET_WM_PID(CARDINAL) = //' | ps `cat`

প্রথমটির পরে এখানে কী ঘটেছিল তা আমি বুঝতে পারি না |

চলুন ধরে নেওয়া যাক প্রক্রিয়া আইডি হিসাবে xprop _NET_WM_PIDআউটপুট 1000। এরপরে কি হবে? কেন আমরা একটি catপরে আছে ps? আমি একটু বিভ্রান্ত।

উত্তর:


15

xprop ... | sed ...প্রথমে মৃত্যুদন্ড কার্যকর করা হয়, তারপরে catতার আউটপুটটি পড়ে। ব্যাকটিক্স ব্যবহারের কারণে, বিড়ালের আউটপুট এমনভাবে প্রতিস্থাপিত হয় ps `cat`যাতে কমান্ডটি হয়ে যায় ps 1000

বিকল্প কমান্ড যা একই ফলাফলের দিকে নিয়ে যায়:

ps $(xprop _NET_WM_PID | cut -d= -f2)

এটি নিম্নলিখিত হিসাবে কাজ করে:

  1. সম্পাদন xprop _NET_WM_PIDএকটি উইন্ডো প্রক্রিয়া আইডি পুনরুদ্ধার করতে। একটি উইন্ডো ক্লিক করার পরে, এটি এমন কিছু আউটপুট দেয়:

    _NET_WM_PID(CARDINAL) = 12345
    
  2. স্প্লিট =এবং দ্বিতীয় ক্ষেত্র নিতে। cut -d= -f2লাগে _NET_WM_PID(CARDINAL) = 12345স্ট্যান্ডার্ড ইনপুট থেকে স্ট্রিং লিখেছেন 12345মানক আউটপুটে।
  3. অবশেষে আউটপুট জন্য প্রতিস্থাপিত psকমান্ড চালানো , যে কমান্ড কার্যকর হবে । (পার্শ্ব দ্রষ্টব্য: কিছু ভিন্নতা থাকলেও এর পরিবর্তেও ব্যবহার করা যেতে পারে )$(...)...ps 12345`...`$(...)

4
আকর্ষণীয় "বর্ণ", এটি | command 'cat'(আমি মন্তব্যে ব্যাকটিকগুলিতে ব্যাকটিকগুলি এম্বেড করতে পারি না?) ... সাধারণ | xargs commandউপায়টি হ'ল (xargs এর অতিরিক্ত পরামিতি সহ, উদাহরণস্বরূপ 1 বা এন আর্গুমেন্টের সীমাবদ্ধকরণ ইত্যাদি)
অলিভিয়ার ডুলাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.