এর লাইন বরাবর কিছু ব্যবহার করা সম্ভব হতে পারে
xargs -n1 -I[] sh -c 'cat {} | grep foo > {}.foo'
বা, অকেজো থেকে মুক্তি পেতে cat
xargs -n1 -I{} sh -c 'grep foo {} > ().foo'
এটি শেল স্ক্রিপ্টে রাখা সাধারণত সহজতর যাতে আপনি কেবল এটি ফাইলগুলি পাস করতে পারেন।
cat > fiddle.sh <<\EOF
for f in "$@"; do
grep foo "$f" >"$f.foo"
done
EOF
ls *.txt | xargs sh fiddle.sh # note we can now pass multiple files, no -n1 or -I needed
পেডেন্ট্রি: ফাইলের নামগুলিতে বিশেষভাবে অক্ষরযুক্ত ls
নতুন লাইনগুলি সহ সঠিক কাজটি করবে না। আমি xargs
পুরোপুরি ডাম্প করব , এবং (উপরের স্ক্রিপ্টটি দিয়েছি ) ঠিক তাই করব
sh fiddle.sh *.txt
অথবা এমনকি
for f in *.txt; do grep foo "$f" >"$f.txt"; done
ঠিক তখনই প্রম্পটে।