-1
我希望你能幫助我,基本上,我在尋找PowerShell的相當於awk
命令:這樣做的awk命令到PowerShell的等價
awk '/"Box11"/ { print $0 }' test.txt|awk '{ SUM += $4} END { print SUM} '
我希望你能幫助我,基本上,我在尋找PowerShell的相當於awk
命令:這樣做的awk命令到PowerShell的等價
awk '/"Box11"/ { print $0 }' test.txt|awk '{ SUM += $4} END { print SUM} '
多種方式,但這會做的伎倆:
Get-Content c:\temp\test.txt | Where-Object{$_ -match '"Box11"'} |
ForEach-Object{($_ -split "\s+")[3]} | Measure-Object -Sum |
Select-Object -ExpandProperty Sum
獲取文件的字符串數組。對於包含字符串"Box11"
的每一行,我們在每組空格上分割一行。然後將每場比賽的4個元素傳遞給Measure-Object
。
手短,如果你看重的,應該是這樣的:
gc c:\temp\test.txt | ?{$_ -match '"Box11"'} | %{($_ -split "\s+")[3]} |
Measure -Sum | Select -Exp Sum
如果這個文件/字符串輸入了頭,這將是一個良好的開端爲好。當然假設你的文件是用一個空格分隔的。
Get-Content c:\temp\test.txt | ConvertFrom-Csv -Delimiter " "
謝謝,我怎麼可以在file.bat或.file.exe中轉換此行? –
我不知道'awk',但我知道powershell。你能解釋你的awk命令在做什麼嗎? – Matt
打印包含字符串Box11的行,然後將其管道傳輸到另一個打印第4列總數的awk(用空格分隔) – zzevannn
請發佈文本文件示例以及命令應生成的輸出。 –