Date Name Age Location 21-FEB-2016 Ramon Makati 22-FEB-2016 17 Quezon 23-FEB-2016 Jose 19
从上面的不完整数据来看,需要输出如下所示。
日期,姓名,年龄,位置
21-FEB-2016,雷蒙,NULL,麦卡蒂
22-FEB-2016,NULL,17,奎松
23-FEB-2016,圣何塞,如图19所示,空
只是澄清一下。我需要得到以下结果。
日期:2016年2月22日
名称:空(空)
年龄:17
地点:奎松
答案 0 :(得分:0)
您可以使用-replace
来匹配包含预期字符的任何行(例如a-z,A-Z或0-9),而不是-match
。
(Get-Content -Path 'C:\tmp\CD.txt') -match '[a-zA-Z0-9]'
输出的输入没有空行(或没有任何行,dows不包含至少一个预期的字符)。
答案 1 :(得分:0)
您说您正在尝试导入,但您正在阅读Get-Content cmdlet使用。
你可以这样做'Null'。
$TempFile = [System.IO.Path]::GetTempFileName()
@'
Date Name Age Location
21-FEB-2016 Ramon Makati
22-FEB-2016 17 Quezon
23-FEB-2016 Jose 19
'@ | Out-File $TempFile
ForEach ($line in (Get-Content -Path $TempFile))
{
If ($line -eq '')
{$line -replace $line,'Null'}
Else{$line}
}
Results
Date Name Age Location
Null
21-FEB-2016 Ramon Makati
Null
22-FEB-2016 17 Quezon
Null
23-FEB-2016 Jose 19
您是说要将空值作为导入的一部分吗?
为什么要在工作数据集上使用空行?
在本地,使用真正的导入cmdlet,只会删除空值
Import-Csv -Path $TempFile
Resutls
Date Name Age Location
-------------------------------------
21-FEB-2016 Ramon Makati
22-FEB-2016 17 Quezon
23-FEB-2016 Jose 19
Remove-Item -Path $TempFile -Force