এর সাথে -I
, xargs
প্রতি যুক্তিটির ডিফল্টের বিপরীতে (খালি বা নিউলাইন সীমিত, সম্ভবত উদ্ধৃত) শব্দের ছাড়াই -I
(এবং বোঝানো হয় -n
) সাথে প্রতি লাইনে একটি যুক্তি পায় । সুতরাং আপনার উদাহরণে date
কেবল একবার বলা {}
হয় পুরো বার আউটপুট echo
(যা এক লাইনে থাকে) এর বিস্তৃত সহ , পিছনে থাকা নতুন লাইনের বিয়োগ করা।
এখানে আপনি করতে পারেন (নোট যে এটি -d
একটি জিএনইউ এক্সটেনশন):
printf '%s\n' {1..12}/01 | xargs -I {} date -d {} +%b | xargs mkdir --
(মনে রাখবেন যে এটি লোকেলগুলিতে সঠিকভাবে কাজ করবে না যেখানে মাসের নামের সংক্ষিপ্তসারগুলিতে ফাঁক বা উদ্ধৃতি অক্ষর থাকে; জিএনইউ দিয়ে xargs
আপনি এটি ব্যবহার করে কাজ করতে পারেন xargs -d '\n' mkdir --
)
এখন, আপনার লোকালে মাসের সংক্ষিপ্তসারগুলির তালিকা পেতে, লোকালটিকে সরাসরি জিজ্ঞাসা করা আরও অর্থবোধ করবে:
(IFS=';'; set -o noglob; mkdir -- $(locale abmon))
( locale -k LC_TIME
বিভাগে সমস্ত স্থানীয় ডেটা দেখতেও দেখুন LC_TIME
)।
অথবা নেটিভ মধ্যে zsh
:
zmodload zsh/langinfo
mkdir -- ${(v)langinfo[(I)ABMON_*]}
কমপক্ষে জিএনইউ সিস্টেমে কিছু লোকেলগুলিতে মাসের সংক্ষিপ্তসারগুলি স্পেস সহ স্থির প্রস্থে প্যাড করা হয়:
$ LC_ALL=et_EE.UTF-8 locale title abmon
Estonian locale for Estonia
jaan ;veebr;märts;apr ;mai ;juuni;juuli;aug ;sept ;okt ;nov ;dets
$ LC_ALL=zh_TW.UTF-8 locale title abmon
Chinese locale for Taiwan R.O.C.
1月; 2月; 3月; 4月; 5月; 6月; 7月; 8月; 9月;10月;11月;12月
আপনি যে প্যাডিং অপসারণ করতে পারেন।
নেতৃস্থানীয় স্পেসগুলি মুছে ফেলা হবে xargs -I
, তবে চলমান স্থানগুলি নয়। সাথে zsh
:
zmodload zsh/langinfo
set -o extendedglob
mkdir -- ${${${(v)langinfo[(I)ABMON*]}##[[:space:]]#}%%[[:space:]]#}