Powershell 比较 CSV文件

前几天论坛里面看见有网友提供了一个方法,如何使用Excel用来比较AD账户的变化,使用的是Excel内置的比较功能。

豆子试了试Powershell的Compare-object方法 也可以做到同样的效果,而且从脚本的角度出发,用PS的效果肯定比手动去操作强很多。

简单的测试一下

创建两个csv文件,内容略有区别

使用Compare-object 比较一下,这里我用的是别名 diff, 同时指定我只想比较字段aa,结果如下所示 , =>表示 ccc只存在于右边( b.csv)

实验成功。

另外说一句就是通过管道输出结果的时候,export-csv的优点在于便于使用Excel查看和手工编辑;但是如果为了更好的比较的话,建议使用 export-clixml,这个会输出xml的格式,他的信息比csv更多更完整。

时间: 2024-08-25 23:32:10

Powershell 比较 CSV文件的相关文章

Azure PowerShell (7) 使用CSV文件批量设置Virtual Machine Endpoint

<Windows Azure Platform 系列文章目录> 请注意: - Azure不支持增加Endpoint Range - 最多可以增加Endpoint数量为150 http://azure.microsoft.com/zh-cn/documentation/articles/azure-subscription-service-limits/ 上一章内容中,我们介绍了如何使用Azure PowerShell,设置单个VM的Endpoint. 这里我们更进一步说明,如何使用CSV文件,

Exchange 2013 PowerShell导出报告至文本和CSV文件

Exchange Management Shell的一个好处就是,可以給我们提供详细可自定义的报告.通过Exchange Management数以Shell和Windows系统的PowerShell提供的数以百计的Get-*命令,报告功能是相当强大可自定义的.在这一节中,将通过Exchange环境通过命令导出报告到CSV和文本文件中. 怎么做呢? 导出输出结果到一个文本文件,可以使用Out-File命令.生成特定数据库下的邮箱报告到一个文本文件,可以使用如下命令: Get-Mailbox –Da

Powershell Mail module, 发送outbox 里的全部邮件(一个.csv文件代表一封邮件)

把creating mail代码写到调用处,往outbox写入 mailxxx.csv文件,入面记录了邮件的主要内容 写入 #template $TMP = IMPORT-CSV "$($dh)\mail\TEMPLATES\MAIL.CSV" #customization $TMP.CC ="" # $TMP.Subject ="From Server $($( get-wmiobject Win32_ComputerSystem ).Name) By

Powershell Mail module, 发送outbox 里的所有邮件(一个.csv文件代表一封邮件)

把creating mail代码写到调用处,往outbox写入 mailxxx.csv文件,入面记录了邮件的主要内容 写入 #template $TMP = IMPORT-CSV "$($dh)\mail\TEMPLATES\MAIL.CSV" #customization $TMP.CC ="" # $TMP.Subject ="From Server $($( get-wmiobject Win32_ComputerSystem ).Name) By

2017年4月8日Office 365 使用CSV文件导入邮件组

国内版 第一步: Import-Module msonline Connect-MsolService 输入用户名密码 第二步: Get-MsolUser" 第三步: Set-ExecutionPolicy unrestricted $cred = Get-Credential $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://partner.outlook.cn/Power

oracle导出多CSV文件的靠谱的

oracle导出多CSV文件的问题 ---------------------------------------------------------------------- 用ksh脚本从oracle数据库中导出80w数据到csv文件,如用户给定名字为a.csv(文件最大4000行记录),则自动生产文件为a_1.csv,a_2.csv,...., a_200.csv 我已经实现了一个方法,但80w要导5小时,用户没法接受.如下: sqlplus -s user/pwd @${SqlDir}/

字符串与csv文件的日常操作

本周使用习惯了函数式编程,这样可以节省不少繁琐的步骤,而且对于程序的条理化非常有益.说来简单就是每个东西写成函数,规定输入输出. 下一周的任务就是面向对象了,把对象这个东西搞清楚,说不定可以重写整个文件为对象的操作 这里说几个本周很经常用的方法,一个是构建字符串数据中的字典数据,实际就是一个列表,这个列表我也是参考了一个tf-idf的文档给出的方法,核心思想就是将每一个字符串填入一个list最后将list写入循环对比,如果碰到一样的跳过,如果遇到不一样的输出,并且把这个字符串同样装入到list中

C/C++读写csv文件(用getline探测逗号分隔符)

csv文件其实就是文本文件,每行字段用逗号分隔. 代码 [cpp] view plain copy print? #include <iostream> #include <string> #include <vector> #include <fstream> #include <sstream> using namespace std; int main() { // 写文件 ofstream outFile; outFile.open(&q

解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG

解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG [email protected] http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6-6 方法一: 出处:http://blog.csdn.net/leonzhouwei/article/details/8447643 直接用 Excel 打开 UTF-8 编码的 CSV 文件会导致汉字部分出现乱码. 原因是 Excel 以 ANSI 格式打开,不会做编码识别. 打开 UTF-8 编