سؤال ما يعادل Grep لنظام التشغيل Windows 7؟


هل هناك موجه الأوامر البقرى ما يعادل ويندوز 7؟ هذا هو ، أريد تصفية نتائج الأمر:

استخدام Bash:

ls | grep root

ماذا سيكون من موجه الأوامر ويندوز؟


215
2018-06-22 20:51


الأصل


لا تخلط بين ms-dos وموجه الأوامر. + استخدام العثور على و findstr وحتى grep ، للنوافذ ... بالتأكيد يمكن العثور عليها بسهولة مع بحث سريع. هناك حتى جداول من الأوامر المعادلة في لينكس والنوافذ. كما أنت باش المثال ليس حتى محددة لباش .. فقط أفترض ، * نيكس OS. - barlop


الأجوبة:


FINDSTR يبدو مثل ما تريد. أنا استخدامه في كل وقت كمكافئ grep تقريبي على منصة ويندوز.

مثال آخر مع الأنابيب:

C:\> dir /B | findstr /R /C:"[mp]"

256
2018-06-22 21:00



نعم يبدو أن هذا هو ما أبحث عنه. أنا أفهم أن هناك على الأرجح قيود. سأجربها. - chrisjlee
لماذا لا يسمونه فقط grep! - Victor Grazi
VictorGrazi فعلوا في الواقع في البداية ، انظر هذه المقالة. كان اسمه في الأصل qgrep - ولكن أعيد تسميته فيما بعد. - Zitrax
مشكلة كبيرة مع findstr هو أن نمط regex قد لا يحتوي على بدائل. - Wolf
السؤال هو عن ويندوز 7 ، ولكن ما هي إصدارات Windows الأخرى findstr بشكل افتراضي؟ منذ ويندوز إكس بي؟ - Peter Mortensen


هناك عدة احتمالات:

  • استخدم ميناء يونيكس grep أمر. هناك العديد من الخيارات. كثيرا ما ذكرت GNUWin32، سيغوينو unxutils. أقل شهرة ، ولكن في بعض النواحي على نحو أفضل ، هي الأدوات في SFUA الأدوات المساعدةالتي تعمل في النظام الفرعي للتطبيقات المستندة إلى UNIX التي تأتي مباشرة في المربع مع Windows 7 Ultimate edition و Windows Server 2008 R2. (بالنسبة لنظام التشغيل Windows XP ، يمكن للمرء تحميل وتثبيت خدمات لـ UNIX الإصدار 3.5.) يحتوي هذا مجموعة أدوات عدد كبير من أدوات TUI سطر الأوامر ، من mv و du، من خلال قذائف كورن وج ، إلى perl و awk. يأتي في النكهات x86-64 و IA64 وكذلك x86-32. يتم تشغيل البرامج في بيئة POSIX الأصلية لـ Windows ، بدلاً من DLLs المحاكي (مثل cygwin1.dll) طبقات الأشياء على Win32. ونعم ، فإن مجموعة الأدوات لديها grep، فضلا عن حوالي 300 آخرين.
  • استخدم واحدة من العديد من Win32 الأصلي grep الأوامر التي كتبها الناس ونشرت.  تيم شارون نسخة أصلي من Win32 من GNU grep المعدلة، فمثلا. هناك أيضا PowerGREP، باري غريب، grepWin، AstroGrepو dnGrep، على الرغم من أن هذه كلها برامج واجهة المستخدم الرسومية وليس برامج TUI.
  • استخدم الموفر find و findstr.  بناء الجملة يختلف عن ذلك grep، لاحظ ، كما هي القدرة على التعبير العادية.

41
2018-06-23 13:06



عملت cygwin لي بشكل جيد على وين 7. كنت بحاجة إلى grep و gnuWin32 grep لم تنجح بالنسبة لي. - Kozuch
تكتب لا أرى perl في SUA C: \ Windows \ SUA> dir perl * / s / b لم يتم العثور على الملف وتشغيله على سبيل المثال. ج قذيفة من سوا أنا لا أرى ذلك في / بن - barlop
تكتب أيضا أن SFUA في بعض النواحي أفضل. بأنهي طريقة؟ - barlop
Kozuch إلا إذا ذكرت كيف لم ينجح ، ثم تعليقك ليس مفيدا - barlop


إذا بوويرشيل يسمح أوامر ، واستخدام

PS C:\> Get-ChildItem | Select-String root

أو قصير

PS C:\> ls | sls root

كن على علم أن الاسم المستعار sls يتم تعريفه فقط بداية بـ PowerShell الإصدار 3.0. يمكنك إضافة اسم مستعار لطباعة أقل:

PS C:\> New-Alias sls Select-String

لتشغيل الأمر PowerShell مباشرة من cmd ، استخدم

C:\>powershell -command "ls | select-string root"

17
2018-01-13 13:16



Grep ، طريقة Powershell. communary.net/2014/11/10/grep-the-powershell-way - Charles Burge


في النسخة السابقة الخاصة بك كتبت MS-DOS ، هناك فقط FIND، بقدر ما أعرف. لكنه نظام تشغيل قديم لم يعد مستخدمًا بعد الآن.

في موجه أوامر Windows NT (على سبيل المثال ، Win2K وفوز XP والإصدارات الأحدث ، على سبيل المثال win7 ، win10) ، يمكنك استخدام find و findstr وإذا قمت بالتنزيل GnuWin32 ثم grep 

الاختلافات الأساسية هي أن findstr لديها بعض التعبيرات العادية الدعم. يدعم Grep التعبيرات العادية بشكل أفضل.

C:\>dir | find "abc"
C:\>dir | find /i "abc"

find /? و findstr /?يوضح لك ما تفعله المحولات.

Gnuwin32 لديه "الحزم". إذا قمت بتنزيل GnuWin32 ، أقترح حزمة coreutils لحزمة من الأدوات المساعدة الأساسية المفيدة التي ستكون على دراية بها ، ولكن grep ليست في تلك الحزمة الخاصة بها.

وأضاف

Grep GnuWin32 ، آخر مرة راجعت ، قديم. Cygwin's grep هو أكثر من ذلك بكثير حتى الآن. ضع في اعتبارك أيضًا أن العديد من الأشخاص يستخدمون الأجهزة الظاهرية بدلاً من منافذ Windows للأوامر * nix.


15
2018-06-22 21:00





إذا كنت تفضل استخدام grep، عوضا عن findstr، هناك واحد .exe إصدار الملف في UnxUtils، لذلك فهي محمولة وليس هناك حاجة لتثبيتها ، أو استخدام شيء مثل Cygwin.


9
2018-06-22 21:07



هذا مثير للاهتمام ولكن يتطلب تثبيت هذه الأداة. - chrisjlee
Chris: لا يوجد تركيب. انه فقط .zip ملف من .exe الملفات. الجانب السلبي الصغير هو أن الإصدارات قديمة قليلاً. - paradroid
ما هو الجانب السلبي من العمر؟ هل يمكن أن يكون البرنامج قديمًا؟ جميع البايتات الجديدة. - user unknown
يوفر GnuWin32 أيضا grep للنوافذ: gnuwin32.sourceforge.net/packages/grep.htm - LiuYan 刘研
userunknown جيدًا ، على سبيل المثال ، أمر unxutils sed أقدم ولا يدعم \ d على سبيل المثال. \ d22 لتحديد عرض الأسعار. قد لا تقوم أداة wget الأقدم بتنزيل صفحة تحتوي على صفحة أحدث ، وإذا طلبت الدعم ، فربما تطلب منك الحصول على أحدث ما يمكن أن يحل بعض المشكلات. لا شك في أن grep قديمًا ليس لديه مستوى دعم regex الذي يمتلكه حاليًا - barlop


يمكنك محاولة تثبيت تشوكولاتيي على ويندوز ، ومن خلال ذلك ، قم بتثبيت غاو أداة. هذا سوف يوفر لك grep على ويندوز.

Gow الوقوف ل GNU على ويندوز. وهو يوفر المرافق خط قيادة يونيكس على ويندوز.


3
2017-09-11 05:33



إنه مدير حزم ، مثل apt-get ولكن للنوافذ. حصلت على اسمها 'cos المطور على أساسه NuGet الذي هو مدير حزمة للاستوديو المرئي ، وهذا يبدو وكأنه كتلة صلبة (كما هو الحال في كتلة صلبة دجاج) ، لذلك اعتقد انه سيكون "مضحك" أو "ذكي" وندعو برنامجه Chocolatey NuGet. سمعت ذلك على البودكاست الذي أجرى مقابلة معه. غاو يمكن تحميلها بشكل مستقل أيضا - barlop
أنا جديد في Gow ، بعد أيام قليلة من الاستخدام يمكنني أن أشهد أنني أحب ذلك كثيراً - إنه أفضل من جميع المنافذ القديمة لـ UNIX التي استخدمتها من قبل. - Radim Cernej
RadimCernej تعليقك ليس مفيدًا ما لم تذكر ماذا كنت أعتقد أنه من الأفضل. - barlop
barlop: منذ أن كتبت تعليقي على يناير / كانون الثاني 2016 ، قمت بالتحول التدريجي والكامل إلى Gow. حتى الآن لا يوجد أخطاء ، فإنه يحتوي على جميع المرافق التي أحتاج / استخدامها ، يتم إخراج المسار بتنسيق Microsoft (مما يجعل من السهل نسخ / لصق إلى برامج أخرى). Gow هو غير الغازية بما فيه الكفاية (سهلة التركيب والإزالة) التي أوصي بشدة بأن تقوم بتجربتها. - Radim Cernej


باش استخدام

$ ls | grep root

كمد الاستخدام

> dir /b | findstr root

أين /b تمثل بهي قائمة من الدلائل والملفات


2
2018-05-02 05:47



هذا تكرار إجابة أخرى ويضيف أي محتوى جديد. من فضلك لا نشر إجابة ما لم يكن لديك بالفعل شيء جديد للمساهمة. - DavidPostill♦
DavidPostill: هذا هو الحل السريع لمستخدمي "TL؛ DR" (مثلي) - vladkras
هذا ليس عذرا لإضافة إجابة لا تساهم بأي شيء جديد. في أي حال ، ستظهر الإجابة المقبولة دائمًا أولاً حتى يتم قراءتها قبل إجابتكم. - DavidPostill♦
DavidPostill ، لا مانع ، ولكن الإجابة المقبولة تحتوي على عدة مفرطة و غير المبررة مفاتيح /B، /R و /C لم يسأل OP ، بينما تعطي إجابتي دقيق ما يعادل - vladkras
ال /b هو جعل dir إخراج نفس ls انتاج. إذا قمت باختبارها فسوف ترى الفرق. لذلك ليس بالضبط ما يعادلها. - DavidPostill♦