0
背景:這裏的目標是使用select-string在powershell中執行一些基本命令。出於某種原因,某些事情不能按預期工作。PowerShell選擇的基本語法問題
假設如下:
$vfilter = 'c:/foo/bar/files/*.htm';
Select-String -path $vfilter -pattern ".*DOCTY.*" |
sort LineNumber |
where-object { $_.Filename -match "02" } |
format-list |
out-file c:/00junk.txt;
...如果是這種輸出...
IgnoreCase : True
LineNumber : 1
Line : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht
tp://www.w3.org/TR/html4/loose.dtd">
Filename : 02junk.htm
Path : C:\ ... \02junk.htm
Pattern : .*DOCTY.*
Context :
Matches : {<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "h
ttp://www.w3.org/TR/html4/loose.dtd">}
問題:
1)如何防止PowerShell與包裝文本「行」和「匹配」 屬性。由於這是發送到 文本文件,我不關心控制檯寬度,因此我不希望任何 文本換行發生。
2)假設我想用一個多行字符串做我自己的自定義輸出。在Ruby (例如)我能做到這一點是這樣的:
custom_string = '';
items.each{|myitem|
custom_string += %Q[
### begin output ###
HereIs::LineNumber! --> #{myitem['LineNumber']}
HereIs::Path! --> #{myitem['Path']}
This is the actual line (below):
#{myitem['Line']}
]
}
custom_string.tofile('c:/00junk.txt');
我怎樣才能獲得PowerShell中做同樣的或類似的事情?
3)我怎麼能做到2)上面有一個powershell here-string?