Tôi có một tệp văn bản cần đọc trong Powershell.Cách đếm số hàng trong powershell
ký tự cuối cùng trong mỗi hàng là một trong hai một Y hoặc N.
Tôi cần phải đi qua các tập tin và sản lượng bao nhiêu Y và N đang chờ ở đó.
Bất kỳ ý tưởng nào?
Tôi có một tệp văn bản cần đọc trong Powershell.Cách đếm số hàng trong powershell
ký tự cuối cùng trong mỗi hàng là một trong hai một Y hoặc N.
Tôi cần phải đi qua các tập tin và sản lượng bao nhiêu Y và N đang chờ ở đó.
Bất kỳ ý tưởng nào?
Giả sử một file có tên "test.txt" ... Để có được số dòng kết thúc bằng Y, bạn có thể làm điều này:
get-content test.txt | select-string Y$ | measure-object -line
Và để có được số dòng kết thúc bằng N, bạn có thể làm điều này:
get-content test.txt | select-string N$ | measure-object -line
Hy vọng điều đó sẽ hữu ích.
Tôi thích câu trả lời của @manojlds, vì vậy tôi sẽ ném một cái gì đó tương tự:
$grouped = (gc .\test.txt) -replace ".*(y|n)$",'$1' | group
(khai thác có thể được sử dụng trên mảng cũng).
Sau đó, bạn có thể sử dụng nó như thế này:
($grouped | ? {$_.Name -eq 'y'}).count
$(foreach ($line in [IO.File]::ReadAllLines(".\test.txt")) {
$line.Substring($line.Length - 1)
}) | Group
$lastchar = @{};get-content $file |% {$lastchar[$_[-1]]++};$lastchar
Get-Content test.txt | Where-Object {$_ -match '[YN]$'} | Group-Object {$_[-1]} -NoElement
cho bất kỳ nhân viên của Google mà muốn câu trả lời này trong một biến ở đây nó là [code] $ a = (Get-Content filename.txt | Select-String "| Y $" | Measure-Object) .count [/ code] –