我有这样的文件;
vserver volume snapshot-policy ------------ ----------------- --------------- vs1 vol1 default vs1 vol2 daily vs2 logs none vs2 home hourly
我的命令get-content my_file |? {$_ -match "none"}
返回一条记录,没关系。但我想在输出中添加标题。如何格式化输出以添加如下所示的标题?
vserver volume snapshot-policy ------------ ----------------- --------------- vs2 logs none
答案 0 :(得分:0)
您可以使用Select-Object
cmdlet从集合中获取指定数量的结果。在这种情况下,我们可以使用它返回文件的前两行,如下所示:
$file = get-content my_file
$header = $file | select -first 2
我们还可以使用它来使用-Skip
$content = $file | select -skip 2
然后您可以按如下方式使用它:
$result = $content |? {$_ -match "none"}
if ($result) {
$header
$result
}
答案 1 :(得分:0)
试试这个:
Get-Content "c:\temp\test.txt" | select -skip 2 | %{$_ -replace ' +',";"} |
ConvertFrom-csv -Delimiter ';' -Header vserver, volume, snapshotpolicy | where snapshotpolicy -EQ "none"