2012-11-30 61 views
2

請有人能幫我一下我對PowerShell有點新鮮,因此您的耐心和知識將非常值得讚賞。值爲「1」的Powershell搜索文本

問題出在這裏:我在每行都有帶有數字的txt文件。 我需要解析txt文件,並找出了多少次特定值時 所以在下面的例子中,我需要在文件中搜索的價值再算上出現的次數

例子:

12, 
2, 
41, 
234, 
21, 
1, 
11, 
1, 

這是我迄今

$txt = get-content 'C:\numbers.txt' 
$search = $txt -match "1" 
$search.count 

嘗試,但結果也發現12,41,21,1,11 如何才能知道如何尋找的只是1計數?

回答

0

我認爲你可以分割每一行,然後使用-like運算符而不是-match,with -like,表達式的兩邊必須是相同的(但你仍然可以使用通常的通配符*和?) :

(gc c:\temp\tsts.txt |%{ $_.split(', ') -like 1 }|Measure-Object).count 
+0

謝謝Kayasax,你的例子有效,但我仍然試圖理解它爲什麼起作用?什麼分割字符串完成這是如何產生影響? –

+0

使用get-content,你得到了一串刺(填充你的文件的行)。 就像我告訴你的那樣 - 如果兩邊都是平等的,就會返回true,所以你必須把這一行分成單獨的字符來比較'1' 'PS>「12,2,41,234,21,1, 11,1,222「-like 1' => false –