Saya mencari PowerShell yang setara dengan grep --file=filename
. Jika Anda tidak tahu grep
, nama file adalah file teks di mana setiap baris memiliki pola ekspresi reguler yang ingin Anda cocokkan.
Mungkin saya kehilangan sesuatu yang jelas, tetapi Select-String
sepertinya tidak memiliki opsi ini.
powershell
grep
Fordio
sumber
sumber
sumber
findstr
paling berfungsigrep
di Linux.Select-String
bagus untuk bekerja dengan objek, tetapi kadang-kadang Anda hanya ingin mencocokkan string.findstr
ini bukan asli PowerShell, tetapi Command Prompt.Saya tidak terbiasa dengan grep tetapi dengan Select-String yang dapat Anda lakukan:
Anda juga dapat melakukannya dengan Get-Content:
sumber
dir *.cs -Recurse | sls "TODO" | select -Unique "Path"
. Terima kasih untuk pointer yang sangat baik.Jadi saya menemukan jawaban yang cukup bagus di tautan ini: https://www.thomasmaurer.ch/2011/03/powershell-search-for-string-or-grep-for-powershell/
Tetapi pada dasarnya itu adalah:
Ini memberikan pencarian file direktori (* atau Anda bisa menentukan file) dan pencarian konten file semua dalam satu baris PowerShell, sangat mirip dengan grep. Outputnya akan mirip dengan:
sumber
Pertanyaan ini sudah memiliki jawaban, tetapi saya hanya ingin menambahkan bahwa di Windows ada Windows Subsystem untuk Linux WSL .
Jadi misalnya jika Anda ingin memeriksa apakah Anda memiliki layanan bernama Elasicsearch yang dalam status sedang berjalan, Anda dapat melakukan sesuatu seperti cuplikan di bawah di PowerShell
net start | grep Elasticsearch
sumber
Saya memiliki masalah yang sama mencoba menemukan teks dalam file dengan PowerShell. Saya menggunakan yang berikut - untuk tetap sedekat mungkin dengan lingkungan Linux.
Semoga ini membantu seseorang:
PowerShell:
Penjelasan:
Ya, ini juga berfungsi:
sumber
Benar. PowerShell tidak tiruan dari toolset * nix shells '.
Namun tidak sulit untuk membangunnya sendiri:
sumber
Select-String -Pattern somestring
jauh lebih bersihMungkin?
sumber