উত্তর:
cat foo.txt | xargs -J % -n 1 sh -c "echo % | bar.sh"
কৌতূহলোদ্দীপক অংশটি হ'ল xargs অন্তর্ভুক্ত সাবস্কেল অনুরোধ সম্পাদন করে। এখানে sh স্পষ্টভাবে আহ্বান জানানো হয়েছে এবং পাইপ পিতামাতার পরিবাহকের অংশ হয় না
cat foo.bar | wc -l
এবংcat foo.bar | xargs -J % -n 1 sh -c "echo % | wc -l"
-I
পরিবর্তে মানে -J
; -J
xargs এর কোনও বিকল্প নেই
xargs
আছে -J
বিকল্পটি সমতূল্য -i
Linux- রxargs
-J
-I
আপনি যদি foo.txt এর সমস্ত লাইন প্রক্রিয়া করতে চান তবে আপনাকে একটি লুপ ব্যবহার করতে হবে। &
প্রক্রিয়াটিকে ব্যাকগ্রাউন্ডে রাখতে ব্যবহার করুন
while read line; do
echo $line | bar.sh &
done < foo.txt
যদি আপনার ইনপুটটিতে স্পেস থাকে তবে অস্থায়ীভাবে অভ্যন্তরীণ ক্ষেত্র বিভাজকটিকে নতুন লাইনে সেট করুন
# save the field separator
OLD_IFS=$IFS
# new field separator, the end of line
IFS=$'\n'
for line in $(cat foo.txt) ; do
echo $line | bar.sh &
done
# restore default field separator
IFS=$OLD_IFS
xargs
ব্যবহৃত ওপির অপশনগুলি সন্ধান করেছি ।