我已经四处寻找,我已经看到了解决方案,删除前3行或静态的东西。 但是我有一个每日csv报告文件,例如,标题行并不总是相同。昨天的文件将有4行标题,今天我有7行标题。
但所有数据都以一个“真实”标题行开头。 我想如果我能找到一种方法在名称下面进行搜索和匹配,然后删除上面的所有内容。
"Statistics Date","Branch","Branch Name","Company ID"
下面是我到目前为止所得到的。基本上读入csv,找到上面的文本,删除那些文本上面的任何内容并保存或附加到新的文件名。
$filedaily=C:\ftp\dailyfile.csv
$header="Statistics Date","Branch","Branch Name","Company ID"
Get-content $filedaily
Alex解决方案后编辑: 输出脚本之后。下面是我在输出的不一致性上发现的。
原文
"Amnet»Programatic»728x90»NA»BAN»DT»CPC»AUT»W»NA»TP»NA»AzureGlobal"
输出带有添加字符的文字
"Amnet»Programatic»728x90»NA»BAN»DT»CPC»AUT»W»NA»TP»NA»AzureGlobal"
答案 0 :(得分:0)
您可以使用正则表达式:
$filedaily = "C:\ftp\dailyfile.csv"
$outfile = "C:\ftp\outfile.csv"
$string = Get-Content -Path $filedaily | Out-String
$regex = '(?s).*("Statistics Date","Branch","Branch Name","Company ID".*)'
$string -replace $regex, '$1' | Out-File -FilePath $outfile