কমান্ড লাইনগুলি না চালিয়ে সেগুলি উত্পন্ন করার জন্য আমি কীভাবে xargs পেতে পারি?


17

বেশ কয়েকটি লিনাক্স কমান্ডের একটি শুকনো রান বিকল্প রয়েছে যা আপনাকে দেখাবে যে তারা এটি না করে কী করবে। আমি xargs ম্যান পৃষ্ঠায় এমন কোনও কিছুই দেখতে পাচ্ছি না যা এটি করে এবং এটি অনুকরণ করার কোনও সুস্পষ্ট উপায়।

(আমার নির্দিষ্ট ব্যবহারের ক্ষেত্রে দীর্ঘ পাইপলাইনগুলির সমস্যার সমাধান করা হচ্ছে, যদিও আমি নিশ্চিত যে অন্যগুলি রয়েছে)

আমি কিছু অনুপস্থিত করছি?


আপনি ঠিক কি করতে চেষ্টা করছেন?
রাহুল

উত্তর:


16

একটি রাখুন echoকমান্ড সামনে চালানোর?

$ echo a b c d e | xargs -n2 echo rm
rm a b
rm c d
rm e

5
(এটি অবশ্যই একটি সহজ সমাধান যা তুচ্ছ ঘটনাগুলিতে কাজ করে The পরামিতিগুলিতে স্পেস বা নিয়ন্ত্রণের অক্ষর থাকে তবে আউটপুট দ্বিধাগ্রস্থ হবে it এটি প্রাপ্ত পরামিতিগুলিকে
নিস্পষ্টভাবে

আপনি যদি শুকনো চালানোর চেষ্টা করছেন তবে কি হবে echo? :)
এমবিগ্রাস

31

আপনি -pবা -tপতাকাগুলি থেকে উপকৃত হতে পারেন ।

xargs -pবা xargs --interactiveকার্যকর করার জন্য কমান্ডটি প্রিন্ট আউট করবে এবং তারপরে আদেশটি কার্যকর করার আগে ইনপুট (y / n) এর জন্য অনুরোধ করবে।

% cat list
one
two
three

% ls
list

% cat list | xargs -p -I {} touch {}
touch one ?...y
touch two ?...n
touch three ?...y

% ls
list
one
three

xargs -tবা xargs --verboseপ্রতিটি কমান্ড মুদ্রণ করবে, তারপরে তাৎক্ষণিকভাবে এটি কার্যকর করুন:

% cat list | xargs -t -I {} touch {}
touch one 
touch two 
touch three 

% ls
list
one
three
two

1
উভয় -pএবং -tবিকল্পের সাথে দুর্দান্ত উত্তর । চমৎকার উদাহরণ। ধন্যবাদ!
জে কটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.