比较对象并包含未在输出中比较的属性
Compare-Object and include properties not being compared in output
我正在使用 Compare-Object
cmdlet 比较来自不同来源(不同 column/property 名称)的两个 CSV 文件。如何在输出中包含任一 CSV 文件中的属性而不将它们包含在比较中?
CSV 数据示例
users1.csv
e-mail-address,name,side
luke@sw.com,Luke,light
users2.csv
e-mail-address,hiredate,hobbies
lando@sw.com,5/2/17,Sabacc
下面给了我一个带有电子邮件地址和侧边指示器的列,但是我怎样才能得到 $Users1.name
和 $Users2.hiredate
而不在比较中使用它们呢?
$Users1 = Import-Csv users1.csv
$Users2 = Import-Csv users2.csv
Compare-Object $Users1 $Users2 -Property "E-mail-Address"
我希望输出类似于:
e-mail-address | SideIndicator | name | hiredate
---------------|---------------|------|----------
luke@sw.com | <= | Luke |
lando@sw.com | => | | 5/2/17
添加PassThru
参数拥有Compare-Object
return所有属性,然后使用Select-Object
获取name
和hiredate
属性:
Compare-Object $users1 $users2 -Property e-mail-address -PassThru|Select-Object e-mail-address,SideIndicator,name,hiredate
我正在使用 Compare-Object
cmdlet 比较来自不同来源(不同 column/property 名称)的两个 CSV 文件。如何在输出中包含任一 CSV 文件中的属性而不将它们包含在比较中?
CSV 数据示例
users1.csv
e-mail-address,name,side luke@sw.com,Luke,light
users2.csv
e-mail-address,hiredate,hobbies lando@sw.com,5/2/17,Sabacc
下面给了我一个带有电子邮件地址和侧边指示器的列,但是我怎样才能得到 $Users1.name
和 $Users2.hiredate
而不在比较中使用它们呢?
$Users1 = Import-Csv users1.csv
$Users2 = Import-Csv users2.csv
Compare-Object $Users1 $Users2 -Property "E-mail-Address"
我希望输出类似于:
e-mail-address | SideIndicator | name | hiredate ---------------|---------------|------|---------- luke@sw.com | <= | Luke | lando@sw.com | => | | 5/2/17
添加PassThru
参数拥有Compare-Object
return所有属性,然后使用Select-Object
获取name
和hiredate
属性:
Compare-Object $users1 $users2 -Property e-mail-address -PassThru|Select-Object e-mail-address,SideIndicator,name,hiredate