Find.exe কমান্ডের মধ্যে পাওয়ারশেল পাইপ


8

শুধু কৌতূহলী, কেন এমন হয়? আমি যদি চালাতে পারি:

netstat -an | find "443"

কমান্ড প্রম্পটে, "443" সংযোগগুলি ঠিক আছে প্রদর্শিত হবে। যদি আমি পাওয়ারশেল কনসোল বা আইএসইতে একই কমান্ডটি চালিত করি তবে আমি "FIND: প্যারামিটার ফর্ম্যাটটি সঠিক নয়" ত্রুটিটি পেয়েছি। পিএস-তে সন্ধানের জন্য কি নেটস্পট আউটপুট সঠিকভাবে পাইপ করা হচ্ছে না?

দ্রষ্টব্য: আমি যদি চালনা করি netstat -an | findstr "443"বা netstat -an | select-string "443"PS এ প্রত্যাশা অনুযায়ী কাজ করি।


ক্রস-সাইট সদৃশ: পাওয়ারশেলে কেন "সন্ধান" করা যাবে নাselect-stringপাওয়ারশেল
ফুচলভি

উত্তর:


13

পাওয়ারশেল কোনও পরিবর্তনশীল সম্প্রসারণ, উপ-এক্সপ্রেশন ইত্যাদি সম্পাদন করতে ডাবল উদ্ধৃতিগুলির মধ্যে থাকা সামগ্রীর মূল্যায়ন করে, তারপরে এটি সেই ডাবল উদ্ধৃতিগুলি বাদ দেয়। পাওয়ারশেল "443"যা থেকে ফিরে আসে তা আক্ষরিকভাবে 443(অনুপস্থিত উদ্ধৃতিগুলি নোট করুন)। ডাবল উদ্ধৃতি দিয়ে সন্ধান স্ট্রিং FIND.EXE প্রয়োজন

আপনি যদি পাওয়ারশেলকে ডাবল উদ্ধৃতিগুলি সরাতে বাধা দিতে চান তবে সেগুলি থেকে বাঁচতে গ্রেভ অ্যাকসেন্ট (`) ব্যবহার করুন।

netstat -a -n  | find `"443`"

আপনি --%পালাবার জন্য প্যারামিটারটিও ব্যবহার করতে পারেন। পাওয়ারশেল 3+ প্রয়োজন।

nestat -a -n | find --% "443"

আমি অবাক হয়েছি কেন Findstr.exe এড়িয়ে চলা ছাড়া কাজ করে?
ভিক

3
@Vic findstrইউটিলিটি মধ্যে উদ্ধৃতি চিহ্ন প্রয়োজন হয় না /Cস্ট্রিং সংক্রান্ত পরামিতি: findstr /C:somestring somefileযেমন করে কাজ করে findstr /C:"somestring" somefile। জন্য FIND, ডাবল উদ্ধৃতি উপস্থিত প্রয়োজন।
jscott
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.