我有一个CSV文本文件,用分隔,;
格式为:
USER_EMPLOYEE_ID;SYSTEM1;USERNAME1
第一列是身份,接下来的两对列是不同活动目录上的用户帐户。我已经放置了垃圾数据,但是这个想法就在那里。
ay7suve0001;ADDPWN;ay7suve0001
AAXMR3E0001;ADDPWN;AAXMR3E0001
ABABIL;ADDPWN;ABABIL
ABDF17;ADDPWN;ABDF17;
ABKMPPE0001;ADDPWN;ABKMPPE0001
ABL1FL;ADDPWN;ABL1FL
AB6JG8E0004;ADDPWN;AB6JG8E0004;
ACB4YB;ADDPWN;ACB4YB
ACK7J9;ADDPWN;ACK7J9
ACLZFS;ADDPWN;ACLZFS;
ACQXZ3;ADDPWN;ACQXZ3
现在有一个要求,我必须像@ADDPWN.com
所有USERNAME1
值一样附加一个固定的字符串。有些记录有一个;
,有些则没有。
有没有一种快速的方法可以将追加@ADDPWN.com
到每行,并注意以下事项:
;
@ADDPWN.com
从PowerShell?
Import-Csv是您的朋友。以下内容将使您走上正确的道路。
Import-Csv "import.csv" -Delimiter ';' |
foreach {
if ($_.username1 -notlike '*@ADDPWN.com') { $_.username1 += '@ADDPWN.com' }
$_
} |
Export-Csv "export.csv" -Delimiter ';'
假设您的csv文件的第一行是标题行。如果不是,则可以将-Header 'USER_EMPLOYEE_ID','SYSTEM1','USERNAME1'
另一个参数传递给Import-Csv。
Export-Csv在参数周围添加了一些额外的内容,例如引号,因此,如果您不希望这样做,则可能需要使用输出格式。
有关其工作原理的其他说明,请查看将姓氏,名字更改为姓氏,最后一列中的姓氏。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句