এক্সার্গস হ্যান্ডেল ফাইলের নামগুলি তৈরি করুন যাতে স্পেস থাকে


252
$ ls *mp3 | xargs mplayer  

Playing Lemon.  
File not found: 'Lemon'  
Playing Tree.mp3.  
File not found: 'Tree.mp3'  

Exiting... (End of file)  

আমার কমান্ড ব্যর্থ হয়েছে কারণ "লেবু ট্রি.এমপি 3" ফাইলটিতে স্পেস রয়েছে এবং তাই xargs মনে করে এটি দুটি ফাইল। আমি কি এই জাতীয় ফাইলের সাথে + xargs কাজ করতে পারি?


পরিবর্তে ls |grep mp3 |sed -n "7p"আপনি কেবল ব্যবহার করতে পারেন echo "Lemon Tree.mp3"
মিশা উইডেনম্যান


এই প্রশ্নের এছাড়াও দ্বারা উত্তর stackoverflow.com/a/33528111/94687
ইভান Zakharyaschev - imz

উত্তর:


255

xargsকমান্ড-বিভেদক রূপে সাদা স্থান অক্ষর (ট্যাব, স্পেস, নতুন লাইন) লাগে। আপনি কেবল নতুন লাইনের অক্ষরগুলির জন্য এটি সংকুচিত করতে পারেন ('\ n') এর -dমতো বিকল্প সহ :

ls *.mp3 | xargs -d '\n' mplayer

এটি কেবল জিএনইউ xargs দিয়ে কাজ করে। বিএসডি সিস্টেমগুলির জন্য এই -0বিকল্পটি ব্যবহার করুন :

ls *.mp3 | xargs -0 mplayer

এই পদ্ধতিটি সহজ এবং জিএনইউ xargs এর সাথেও কাজ করে।


6
সাধারণ ব্যবহারের জন্য সেরা উত্তর! আপনার পূর্ববর্তী আদেশটি "সন্ধান" না করা সত্ত্বেও এটি কাজ করে
nexayq

28
দুর্ভাগ্যক্রমে, এই বিকল্পটি ওএস এক্সে উপলভ্য নয়
থমাস টেম্পেলম্যান

25
-Exargs -E '\n'

30
ওএস এক্স-তে, 'ই' \ n 'এর জন্য আমার কোনও প্রভাব ছিল না, না আমি এটিরও আশা করব না এটি ইওফস্ট্রের পরিবর্তিত হিসাবে রেকর্ড বিভাজককে নয়। তবে, পূর্ববর্তী কমান্ডটি 'ফাইন্ড' না পাওয়া সত্ত্বেও আমি -0 পতাকাটি সমাধান হিসাবে ব্যবহার করতে সক্ষম হয়েছি, যদিও আমার ইনপুটটিতে ফাইন্ড-প্রিন্ট 0 পতাকাটির প্রভাব অনুকরণ করে, উদাহরণস্বরূপ: ls * mp3 | tr '। n' '\ 0' | | xargs -0 এমপ্লেয়ার
বায়োমাইকার

10
OS X এর জন্য, আপনি "findutils ইনস্টল চোলাই" করতে পারেন, যা আপনি "gxargs" কমান্ড যে দেয় না -d সুইচ আছে।
টম দে লিউ

213

Xargs ইউটিলিটি স্ট্যান্ডার্ড ইনপুট থেকে স্থান, ট্যাব, নিউলাইন এবং ফাইল-এর শেষ সীমারেখা পড়ে এবং আর্গুমেন্ট হিসাবে স্ট্রিং সহ ইউটিলিটি চালায়।

আপনি একটি সীমানা হিসাবে স্থান ব্যবহার করা এড়াতে চান। এটি xargs জন্য ডিলিমিটার পরিবর্তন করে করা যেতে পারে। ম্যানুয়াল অনুসারে:

 -0      Change xargs to expect NUL (``\0'') characters as separators,
         instead of spaces and newlines.  This is expected to be used in
         concert with the -print0 function in find(1).

যেমন:

 find . -name "*.mp3" -print0 | xargs -0 mplayer

সপ্তম এমপি 3 প্লে সম্পর্কে প্রশ্নের উত্তর দিতে; এটি চালানো সহজ

 mplayer "$(ls *.mp3 | sed -n 7p)"

10
এটি GNU findএবং GNU ব্যবহার করছে xargs; এই প্রোগ্রামগুলির সমস্ত সংস্করণ options বিকল্পগুলিকে সমর্থন করে না (যদিও তাদের এমনটি করার একটি কেস আছে যদিও)।
জোনাথন লেফলার

1
@ জোনাথনলফলার এস / জিএনইউ / ফ্রিবিএসডি / জি; পিসিক্স দুঃখজনকভাবে পাঠ্য ফাইলগুলিতে নুল অক্ষরগুলির সম্পর্কে ভয় পেয়েছে এবং এখনও পর্যাপ্ত থেরাপি নেই :-) আমার পরামর্শ আসলে নন-পোর্টেবল বিকল্পগুলিতে রিসর্ট করে।
জেনস

6
এবং ম্যাক ওএস এক্স (একটি বিএসডি ডেরিভেটিভ) এর findসাথে -print0এবং xargsরয়েছে -0। আফাইক, এইচপি-ইউএক্স, এআইএক্স এবং সোলারিস অবশ্য তা করে না (তবে আমি সংশোধন করতে দাঁড়িয়েছি: এইচপি-ইউএক্স 11 আই করেনি; সোলারিস 10 করেনি; এআইএক্স 5.x না; তবে তারা বর্তমান সংস্করণ নয় )। sedউদাহরণস্বরূপ, '\0'পরিবর্তে 'লাইনগুলি' ব্যবহার করা পরিবর্তন করা কঠিন হবে না '\n'এবং POSIX 2008 getdelim()এটি পরিচালনা করা সহজ করে তুলবে।
জোনাথন লেফলার

2
তালিকার ফাইলগুলি সহ ফাইল পাথ ব্যবহার করার জন্য +1 + 1 কৌশল: বিড়াল $ file_paths_list_file | perl -ne 's |। n | \ 000 | g; মুদ্রণ' | xargs -0 জিপ $ জিপ_প্যাকেজ
জর্জিভ

2
নিউলাইনগুলিকে NUL এর সাথে প্রতিস্থাপন করার জন্য ভাল ধারণা - আমি এমন একটি এম্বেডড সিস্টেমে এটি করতে হয়েছিল যা GNU খুঁজে পায় না GNU xargs বা পার্ল ছিল না - তবে tr কমান্ডটি একইভাবে ব্যবহার করা যেতে পারে: cat $ file_paths_list_file | tr '। n' '\ 0' | | xargs -0 du -hms
জেনসন


16

MacOS এ xargs -d বিকল্প নেই, সুতরাং এই সমাধানটি পরিবর্তে -0 ব্যবহার করে।

প্রতি লাইনে একটি ফাইল আউটপুট পেতে ls পান, তারপরে নিউলাইনগুলি নালগুলিতে অনুবাদ করুন এবং এক্সার্গসকে নকলগুলি ডিলিমেটার হিসাবে ব্যবহার করতে বলুন:

ls -1 *mp3 | tr "\n" "\0" | xargs -0 mplayer


8
find . -name 'Lemon*.mp3' -print0 | xargs 0 -i mplayer '{}' 

এটি স্পেস সহ বিভিন্ন ফাইল মুছতে আমার ক্ষেত্রে সহায়তা করেছিল। এটি এমপ্লেয়ারের সাথে খুব বেশি কাজ করা উচিত। প্রয়োজনীয় কৌশলটি হল উদ্ধৃতিগুলি। (লিনাক্সের উপর পরিক্ষিত Xubuntu 14.04।)


7

ডিক.গুয়ার্টিনের উত্তর [১] পরামর্শ দিয়েছে যে কোনও ফাইলনামে ফাঁকা জায়গা থেকে বাঁচতে পারে তা এখানে প্রস্তাবিত অন্যান্য সমাধানগুলির মূল্যবান বিকল্প (যেমন শ্বেতক্ষেত্রের পরিবর্তে বিভাজক হিসাবে নাল চরিত্রটি ব্যবহার করা)। তবে এটি সহজ হতে পারে - আপনার সত্যিকার অর্থে কোনও অনন্য চরিত্রের প্রয়োজন নেই। আপনি সরাসরি পালানো স্থানগুলি সরাসরি যুক্ত করতে পারেন:

ls | grep ' ' | sed 's| |\\ |g' | xargs ...

তদতিরিক্ত, গ্রেপ কেবল তখনই প্রয়োজনীয় যদি আপনি কেবল নামের ফাঁকা জায়গাগুলি দিয়ে ফাইলগুলি চান। আরও উদারভাবে (উদাহরণস্বরূপ, ফাইলগুলির একটি ব্যাচ প্রক্রিয়া করার সময় কিছুগুলির মধ্যে ফাঁকা স্থান রয়েছে, কিছু নেই), কেবল গ্রেপটি এড়িয়ে যান:

ls | sed 's| |\\ |g' | xargs ...

তারপরে অবশ্যই ফাইলটির নাম ফাঁকা (যেমন একটি ট্যাব) এর চেয়ে অন্য সাদা জায়গা থাকতে পারে:

ls | sed -r 's|[[:blank:]]|\\\1|g' | xargs ...

এটি ধরে নিয়েছে যে আপনার একটি সিড রয়েছে যা -r (বর্ধিত রেজেক্স) সমর্থন করে যেমন জিএনইউ সেড বা বিএসডি সেডের সাম্প্রতিক সংস্করণগুলি (যেমন, ফ্রিবিএসডি যা মূলত ফ্রিবিএসডি 8 এর আগে "-E" বিকল্পটি বানান এবং সামঞ্জস্যের জন্য -r এবং -E উভয়কেই সমর্থন করে কমপক্ষে ফ্রিবিএসডি 11 এর মাধ্যমে)। অন্যথায় আপনি একটি বেসিক রেজেক্স অক্ষর শ্রেণীর বন্ধনী এক্সপ্রেশন ব্যবহার করতে পারেন এবং ম্যানুয়ালি স্থান এবং ট্যাব অক্ষরগুলিতে সন্নিবেশ করতে পারেন[] ডিলিমিটারে ।

[1] এটি উত্তর হিসাবে একটি মন্তব্য বা সম্পাদনা হিসাবে সম্ভবত আরও উপযুক্ত, তবে এই মুহূর্তে আমার মন্তব্য করার মতো যথেষ্ট খ্যাতি নেই এবং কেবল সম্পাদনাগুলির পরামর্শ দিতে পারি। যেহেতু উপরের ফর্মগুলি (গ্রেপ ব্যতীত) ডিক.গুয়ের্টিনের মূল উত্তরটির আচরণকে পরিবর্তন করে, সরাসরি সম্পাদনা সম্ভবত যাইহোক উপযুক্ত নয়।


1
পাগল ইউনিক্স ছেলেরা যারা তাদের আউটপুট বিবেচনা না করে সেই
নামগুলির

4

ls | grep mp3 | sed -n "7p" | xargs -i mplayer {}

মনে রাখবেন যে উপরের কমান্ডটিতে প্রতিটি ফাইলের জন্য নতুন xargsকল করা হবে mplayer। এটি অনাকাঙ্ক্ষিত হতে পারে mplayerতবে অন্য লক্ষ্যগুলির জন্য এটি ঠিক হতে পারে।


1
বিদ্যমান উত্তরগুলির জন্য একটি দরকারী সংযোজন, তবে এটি লক্ষণীয় হবে যে এটি mplayerপ্রতিটি ফাইলের জন্য নতুন বলা হবে। আপনি যদি চেষ্টা করেন তবে এটি গুরুত্বপূর্ণ ... | xargs -I{} mplayer -shuffle {}: যেমন এটি থাকা সত্ত্বেও এটি সম্পূর্ণ নির্বিচারক ক্রমে খেলবে -shuffle

1
এটি সাধারণত উদ্দেশ্য না। xargsবেশিরভাগ কমান্ডের সাথে ব্যবহৃত হয় যা ফাইলের নামের (সহজ উদাহরণ rm:) একটি তালিকা গ্রহণ করে এবং যতটা ফাইলের নাম এটি প্রতিটি অনুরোধের সাথে মাপসই করা যায় তা পাস করার চেষ্টা করে, প্রয়োজনে কেবল একাধিক ডাকে বিভক্ত হয়। আপনি যখন কোনও কমান্ড ব্যবহার করেন যেখানে প্রতিটি অনুরোধ দৃশ্যমান হয় ততক্ষণ আপনি তফাতটি দেখতে পাবেন echo: যেমন (ডিফল্ট): seq 0 100000 | xargsপ্রথম লাইনে 45 থেকে 395 পর্যন্ত 0 থেকে 23695 (প্ল্যাটফর্ম-নির্দিষ্ট, তবে আমার সিস্টেমে এটিই ঘটে) থেকে সমস্ত সংখ্যা মুদ্রণ করে 2 লাইন, ইত্যাদি। এবং আপনি ঠিক বলেছেন, বেশিরভাগ কমান্ডের জন্য, এটি কোনও ব্যাপার নয়।

4

ম্যাকোএস 10.12.x (সিয়েরা) এ, যদি আপনার ফাইলের নাম বা সাব-ডিরেক্টরিতে ফাঁকা স্থান থাকে তবে আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:

find . -name '*.swift' -exec echo '"{}"' \; |xargs wc -l

2

এটি নির্ভর করে (ক) আপনি 7 নম্বরের সাথে লেবুনের বিপরীতে, বলুন, এবং (খ) যে কোনও ফাইলের নামতে নিউলাইন রয়েছে (এবং আপনি যদি তাদের নাম পরিবর্তন করতে রাজি হন তবে) তার উপর নির্ভর করে depends

এটির সাথে মোকাবিলা করার অনেকগুলি উপায় রয়েছে তবে সেগুলির কয়েকটি হ'ল:

mplayer Lemon*.mp3

find . -name 'Lemon*.mp3' -exec mplayer {} ';'

i=0
for mp3 in *.mp3
do
    i=$((i+1))
    [ $i = 7 ] && mplayer "$mp3"
done

for mp3 in *.mp3
do
    case "$mp3" in
    (Lemon*) mplayer "$mp3";;
    esac
done

i=0
find . -name *.mp3 |
while read mp3
do
    i=$((i+1))
    [ $i = 7 ] && mplayer "$mp3"
done

readযদি ফাইলের নাম নতুন লাইন ধারণ লুপ কাজ করে না; অন্যরা নামগুলিতে নতুন লাইনের সাথেও সঠিকভাবে কাজ করে (জায়গা ছেড়ে দেয়)। আমার অর্থের জন্য, যদি আপনার কাছে একটি নতুন লাইনযুক্ত ফাইলের নাম থাকে, আপনার ফাইলটি নতুন লাইন ছাড়াই নামকরণ করা উচিত। ফাইলটির নামের চারপাশে ডাবল উদ্ধৃতি ব্যবহার করা লুপগুলি সঠিকভাবে কাজ করার চাবিকাঠি।

আপনার যদি জিএনইউ findএবং জিএনইউ xargs(বা ফ্রিবিএসডি (* বিএসডি?), বা ম্যাক ওএস এক্স) থাকে তবে আপনি নিম্নলিখিত -print0এবং -0বিকল্পগুলি ব্যবহার করতে পারেন :

find . -name 'Lemon*.mp3' -print0 | xargs -0 mplayer

নামের বিষয়বস্তু নির্বিশেষে এটি কাজ করে (কেবলমাত্র দুটি অক্ষর যা কোনও ফাইলের নামটিতে প্রদর্শিত না হতে পারে তা স্ল্যাশ এবং এনএলইউ, এবং স্ল্যাশ কোনও ফাইলের পথে কোনও সমস্যা করে না, সুতরাং NUL নামটি ডেলিমিটার হিসাবে সমস্ত কিছু আবরণ করে)। তবে, যদি আপনাকে প্রথম ent টি এন্ট্রি ফিল্টার করতে হয় তবে আপনার এমন একটি প্রোগ্রাম দরকার যা নিউলাইনের পরিবর্তে এনইউএল দ্বারা শেষ হওয়া 'লাইনগুলি' পরিচালনা করে ... এবং আমি নিশ্চিত যে এখানে কোনও আছে।

প্রথম হাতে হাতে নির্দিষ্ট ক্ষেত্রে সবচেয়ে সহজ; তবে, আপনার অন্যান্য পরিস্থিতিতে আপনি এখনও তালিকাবদ্ধ না করেছেন তা কভার করা সাধারণ হতে পারে না।


2

আমি জানি যে আমি উত্তর করছি না xargsপ্রশ্ন সরাসরি কিন্তু এটি এর মূল্য উল্লেখ findএর -execবিকল্প।

নিম্নলিখিত ফাইল সিস্টেম দেওয়া:

[root@localhost bokeh]# tree --charset assci bands
bands
|-- Dream\ Theater
|-- King's\ X
|-- Megadeth
`-- Rush

0 directories, 4 files

ড্রিম থিয়েটার এবং কিং এর এক্সে স্থানটি পরিচালনা করার জন্য ফাইন্ড কমান্ডটি তৈরি করা যেতে পারে So সুতরাং, গ্রেপ ব্যবহার করে প্রতিটি ব্যান্ডের ড্রামার খুঁজে পেতে:

[root@localhost]# find bands/ -type f -exec grep Drums {} +
bands/Dream Theater:Drums:Mike Mangini
bands/Rush:Drums: Neil Peart
bands/King's X:Drums:Jerry Gaskill
bands/Megadeth:Drums:Dirk Verbeuren

ইন -execবিকল্প {}পথ সহ ফাইলের নাম ঘোরা। মনে রাখবেন যে আপনাকে এড়াতে বা উদ্ধৃতিতে এড়াতে হবে না।

-execএর টার্মিনেটর ( +এবং \;) এর মধ্যে পার্থক্যটি হ'ল +এটি একটি কমান্ড লাইনে থাকা অনেক ফাইলের নামকে গ্রুপ করে। যেখানে \;প্রতিটি ফাইল নামের জন্য কমান্ড কার্যকর করা হবে।

সুতরাং, find bands/ -type f -exec grep Drums {} +ফলাফল হবে:

grep Drums "bands/Dream Theater" "bands/Rush" "bands/King's X" "bands/Megadeth"

এবং এর find bands/ -type f -exec grep Drums {} \;ফলাফল হবে:

grep Drums "bands/Dream Theater"
grep Drums "bands/Rush"
grep Drums "bands/King's X"
grep Drums "bands/Megadeth"

এর ক্ষেত্রে grepফাইলের নাম মুদ্রণের ক্ষেত্রে এর পার্শ্ব প্রতিক্রিয়া রয়েছে।

[root@localhost bokeh]# find bands/ -type f -exec grep Drums {} \;
Drums:Mike Mangini
Drums: Neil Peart
Drums:Jerry Gaskill
Drums:Dirk Verbeuren

[root@localhost bokeh]# find bands/ -type f -exec grep Drums {} +
bands/Dream Theater:Drums:Mike Mangini
bands/Rush:Drums: Neil Peart
bands/King's X:Drums:Jerry Gaskill
bands/Megadeth:Drums:Dirk Verbeuren

অবশ্যই, grepঅপশনগুলি -hএবং -Hফাইলনামটি কীভাবে grepবলা হোক না কেন তা মুদ্রিত হবে কিনা তা নিয়ন্ত্রণ করবে ।


xargs

xargs কমান্ড লাইনে ম্যান ফাইলগুলি কীভাবে নিয়ন্ত্রণ করা যায় তাও নিয়ন্ত্রণ করতে পারে।

xargsডিফল্টরূপে সমস্ত আর্গুমেন্টকে এক লাইনে দলবদ্ধ করে। একই জিনিস যে -exec \;ব্যবহার করে না xargs -l। নোট করুন যে -tঅপশনটি xargsকার্যকর করার আগে কমান্ডটি প্রিন্ট করতে বলেছে ।

[root@localhost bokeh]# find ./bands -type f  | xargs -d '\n' -l -t grep Drums
grep Drums ./bands/Dream Theater 
Drums:Mike Mangini
grep Drums ./bands/Rush 
Drums: Neil Peart
grep Drums ./bands/King's X 
Drums:Jerry Gaskill
grep Drums ./bands/Megadeth 
Drums:Dirk Verbeuren

দেখুন যে -lবিকল্পটি প্রতিটি ফাইলের জন্য গ্রেপ চালাতে xargs কে বলে।

ডিফল্ট বনাম (অর্থাত্ কোনও -lবিকল্প নেই):

[root@localhost bokeh]# find ./bands -type f  | xargs -d '\n'  -t grep Drums
grep Drums ./bands/Dream Theater ./bands/Rush ./bands/King's X ./bands/Megadeth 
./bands/Dream Theater:Drums:Mike Mangini
./bands/Rush:Drums: Neil Peart
./bands/King's X:Drums:Jerry Gaskill
./bands/Megadeth:Drums:Dirk Verbeuren

xargsকমান্ড লাইনে কতগুলি ফাইল থাকতে পারে তার আরও ভাল নিয়ন্ত্রণ রয়েছে। -lকমান্ড অনুযায়ী ফাইলের সর্বাধিক সংখ্যাটি বিকল্পটি দিন ।

[root@localhost bokeh]# find ./bands -type f  | xargs -d '\n'  -l2 -t grep Drums
grep Drums ./bands/Dream Theater ./bands/Rush 
./bands/Dream Theater:Drums:Mike Mangini
./bands/Rush:Drums: Neil Peart
grep Drums ./bands/King's X ./bands/Megadeth 
./bands/King's X:Drums:Jerry Gaskill
./bands/Megadeth:Drums:Dirk Verbeuren
[root@localhost bokeh]# 

ওটা দেখ grep কারণে দুটি ফাইলের নাম দিয়ে মৃত্যুদন্ড কার্যকর করা হয়েছিল -l2


1

এই পোস্টের নির্দিষ্ট শিরোনাম দেওয়া, আমার পরামর্শ এখানে:

ls | grep ' ' | tr ' ' '<' | sed 's|<|\\ |g'

ধারণাটি হ'ল ফাঁকগুলিকে '<' এর মতো কোনও অনন্য চরিত্রে রূপান্তর করা এবং তারপরে এটিকে '\' তে পরিবর্তন করা, একটি ব্যাকস্ল্যাশ পরে একটি ফাঁকা। তারপরে আপনি এটি যে কোনও কমান্ডে পছন্দ করতে পারেন, যেমন:

ls | grep ' ' | tr ' ' '<' | sed 's|<|\\ |g' | xargs -L1 GetFileInfo

এখানে মূল কীটি 'টিআর' এবং 'সেড' কমান্ডের মধ্যে রয়েছে; এবং আপনি '<' ছাড়াও কোনও অক্ষর ব্যবহার করতে পারেন, যেমন '?' এমনকি কোনও ট্যাব-চরিত্রও।


প্রদক্ষিণের উদ্দেশ্য কী tr? শুধু কেন নয় ls *.mp3 | sed -n '7!b;s/\([[:space:]]\)/\\\1/g;p'?
ট্রিপলি

1
আমি খুঁজে পেয়েছি যে "ট্র '' '?' '" সেড "এর প্রয়োজনীয়তা অপসারণ করে। একক "?" অক্ষরটি ফাঁকা নয়, তবে এই ক্ষেত্রে কোনও একক অক্ষরের সাথে মেলে: ফাঁকা। এটি অন্যরকমের হওয়ার সম্ভাবনাগুলি বেশ ছোট এবং গ্রহণযোগ্য যেহেতু আপনি .mp3 এ শেষ হওয়া সমস্ত ফাইল প্রসেস করার চেষ্টা করছেন: "এলএস | গ্রেপ '' | ট্র '' '?' | xargs -L1 getFileInfo "
ডিক গের্টিন

আপনি একই সাথে "ট্যাব" পরিচালনা করতে পারেন: ট্র '\ টি' '??' উভয় পরিচালনা করে
ডিক গের্তিন

1

বিকল্প সমাধান সহায়ক হতে পারে ...

পার্ল ব্যবহার করে আপনি আপনার লাইনগুলির শেষে একটি নাল অক্ষর যুক্ত করতে পারেন, তারপরে -0xargs এ বিকল্পটি ব্যবহার করুন । Xargs -d '\ n' এর বিপরীতে (অনুমোদিত উত্তরে) - এটি ওএস এক্স সহ সর্বত্র কাজ করে works

উদাহরণস্বরূপ, পুনরাবৃত্তভাবে তালিকাবদ্ধ করতে (চালানো, সরানো, ইত্যাদি) এমপিইজি 3 ফাইলের মধ্যে স্পেস বা অন্যান্য মজার অক্ষর থাকতে পারে - আমি ব্যবহার করব:

find . | grep \.mp3 | perl -ne 'chop; print "$_\0"' | xargs -0  ls

(দ্রষ্টব্য: ফিল্টারিংয়ের জন্য, আমি "সন্ধান" - নাম আর্গুমেন্টের চেয়ে মনে রাখা সহজ "" গ্রেপ "সিনট্যাক্সটিকে পছন্দ করি))

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.