Bagaimana cara mengambil Teks Pencarian Dari PowerShell

  • Post author:
  • Post category:Tutorial

grep adalah utilitas penelusuran teks yang andal di Linux, tetapi tidak tersedia di Windows. Meskipun ada port dan solusi pihak ketiga, PowerShell menawarkan ekuivalen bawaan untuk grep yang akan melakukan pekerjaan yang sama di skrip Anda.

Menggunakan findstr untuk grep Pencarian Di PowerShell

Ada beberapa utilitas pencarian yang berbeda di PowerShell, masing-masing dengan kekuatannya sendiri. Yang paling sederhana adalah findstr, yang merupakan executable windows asli. Ini berfungsi dengan baik untuk menggantikan grep untuk operasi pencarian sederhana di baris perintah. Misalnya, Anda dapat menyalurkan output ls ke sana untuk menemukan kecocokan.

ls | findstr “foo”

Anda juga dapat menelusuri beberapa kata sekaligus, menggunakan karakter pengganti untuk mencocokkan apa pun, dan menggunakan tanda /R untuk meneruskan ekspresi reguler dasar.

ls | findstr /R ba[a-z].txt

Meskipun, jika Anda ingin menelusuri secara eksplisit termasuk spasi, Anda harus menggunakan /C: flag:

ls | findstr /C:”foo”

Jika Anda terbiasa dengan baris perintah Linux, dan tidak ingin mengingat perintah baru, Anda dapat mengonfigurasi “grep” menjadi alias untuk findstr, yang memungkinkan Anda menyimpan memori otot .

new-alias grep findstr

Menggunakan Select-String untuk mengambil Pencarian di PowerShell

Metode asli lain yang ditawarkan PowerShell adalah cmdlet Select-String, yang melakukan banyak hal yang sama seperti findstr, tetapi merupakan cmdlet PowerShell dan bukan Windows yang dapat dieksekusi.

Ini artinya itu akan bekerja lebih baik dalam skrip PowerShell, dan terutama mengembalikan outputnya sebagai objek, yang dapat dicetak cantik oleh PowerShell. Ini juga lebih mudah digunakan pada baris perintah, karena penyelesaian tab PowerShell akan bekerja dengannya.

Ini bekerja seperti findstr, dan dapat mengambil wildcard dan ekspresi reguler juga.

ls | Select-String bodoh | Select-String -Pattern

Anda dapat menggunakan Select-String untuk mengambil teks di dalam file, dengan meneruskan argumen -Path. Anda juga dapat menggunakannya dengan input yang diteruskan dari cmdlet lain seperti Get-Content.

Select-String -Path “.foo.txt” -Pattern ba.*

Jika Anda ingin menggunakannya di baris perintah, Anda juga bisa alias ke “grep” untuk akses cepat.

remove-alias grep new-alias grep Select-String

Itulah berita seputar Bagaimana cara mengambil Teks Pencarian Dari PowerShell, semoga bermanfaat. Disadur dari HowToGeek.com.