亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PowerShell > 正文

PowerShell比較文本文件的兩個方法

2020-10-29 21:09:36
字體:
來源:轉載
供稿:網友

需求:比較兩個文本文件,不相等時輸出行號和列號,和開始不相等的字符。

方法一:Compare-Object

利用PowerShell命令Compare-Object,非常值得學習。

復制代碼 代碼如下:

function Compare-Files{
 param(
 $file1,
 $file2,
 [switch]$IncludeEqual
 )
 $content1 = Get-Content $file1
 $content2 = Get-Content $file2
 $comparedLines = Compare-Object $content1 $content2 -IncludeEqual:$IncludeEqual |
 group { $_.InputObject.ReadCount } | sort Name
 $comparedLines | foreach {
 $curr=$_
 switch ($_.Group[0].SideIndicator){
“==” { $right=$left = $curr.Group[0].InputObject;break}
“=>” { $right,$left = $curr.Group[0].InputObject,$curr.Group[1].InputObject;break }
“<=" { $right,$left = $curr.Group[1].InputObject,$curr.Group[0].InputObject;break }
 }
 [PSCustomObject] @{
 Line = $_.Name
 Left = $left
 Right = $right
 }
 }
 }

方法二,使用流處理比較

解釋:沒有使用內置的string相等比較,而是定義了函數 Diff-String,可以返回字符串首次不相等時的索引。

復制代碼 代碼如下:

function Diff-Txt([io.fileinfo]$firstFile,[io.fileinfo]$secondFile)
{
    #參數判斷
    if( -not $firstFile.Exists)
    {
        throw "$firstFile 不存在"
    }
    if( -not $secondFile.Exists)
    {
        throw "$secondFile 不存在"
    }
    $sr1=[IO.StreamReader]$firstFile.FullName
    $sr2=[IO.StreamReader]$secondFile.FullName

    #內部函數:比較字符串
    #返回-1表示相等,返回其它表示從$str1開始不等的索引
    function Diff-String([string]$str1,[string]$str2)
    {
        for( $i=0; $i -lt $str1.Length; $i++)
        {
            if($i -lt $str2.Length)
            {
                if($str1[$i] -cne $str2[$i]){ return $i }
            }
            else { return $i }
        }
        if($str2.Length -gt $i ) { return $i }
        return -1
    }

    # firstFile 沒到文件末尾
    $line=1
    while(-not $sr1.EndOfStream)
    {
        $str1 = $sr1.ReadLine()

        # secondFile 到了文件末尾
        if($sr2.EndOfStream)
        {
            Write-Host "=> [$line 行,1 列]"
        }

        # secondFile 沒到文件末尾
        else
        {
            $str2 = $sr2.ReadLine()
            $result = Diff-String -str1 $str1 -str2 $str2
            if($result -ne -1)
            {
                Write-Host "<> [$line 行,$result 列] 字符->" -NoNewline
                Write-Host  $str1[$result]   -ForegroundColor red
            }
        }

        $line++
    }
    # 第二個文件沒到文件末尾
    while( -not $sr2.EndOfStream)
    {
        $str2 = $sr2.ReadLine()
        Write-Host "<= [$line 行,1 列]"
    }
    # 關閉文件流
    $sr1.Close()
    $sr2.Close()
}

測試用例一

輸入

第一個文件內容為:

復制代碼 代碼如下:

PowerShell
中文博客
VeVB.COm

荔非苔
第二個文件內容為:
復制代碼 代碼如下:

PowerShell
中文播客
jb51.Net
荔非苔
Mosser Lee

輸出:
 

測試用例二

輸入

第一個文件內容為:

復制代碼 代碼如下:

玉樹臨風
馬上伊利
文章做作

第二個文件內容為:
復制代碼 代碼如下:

玉樹臨瘋


輸出:

文章出處:http://www.pstips.net/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品在线免费| 91精品国产高清久久久久久91| 亚洲最大成人免费视频| 色先锋久久影院av| 超在线视频97| 亚洲欧美中文字幕在线一区| 久久精品中文字幕电影| 欧美人在线观看| 日本一区二区在线播放| 精品在线欧美视频| 日韩亚洲在线观看| 欧美中文字幕在线播放| 7777kkkk成人观看| 国产成人精品亚洲精品| 97在线视频国产| 日韩精品在线视频美女| 精品久久久久久久久中文字幕| 久久久亚洲国产| 8x拔播拔播x8国产精品| 国产成人精品一区| 国产不卡av在线免费观看| 亚洲精品在线视频| 欧美精品精品精品精品免费| 成人福利网站在线观看| 98精品国产自产在线观看| 91免费在线视频网站| 午夜精品国产精品大乳美女| 亚洲国产高潮在线观看| 日韩动漫免费观看电视剧高清| 国产精品h片在线播放| 日韩女优人人人人射在线视频| 欧美一级免费看| 亚洲区bt下载| 欧美国产日韩视频| 国产精品久久久久久久天堂| 亚洲91精品在线观看| 中文字幕欧美日韩在线| 国产精品久久久久久久一区探花| 国产成人短视频| 国产精品日韩av| 欧美精品久久久久久久久| 欧美电影电视剧在线观看| 国产z一区二区三区| 91色精品视频在线| 日本精品性网站在线观看| 亚洲精品网址在线观看| 亚洲天堂第二页| 国产日韩在线亚洲字幕中文| 日韩av网站电影| 欧美精品日韩www.p站| 欧美乱大交xxxxx| 日韩欧美国产黄色| 亚洲精品成a人在线观看| 91产国在线观看动作片喷水| 日韩精品一区二区视频| 亚洲国产日韩欧美在线图片| 在线播放日韩精品| 欧美最顶级丰满的aⅴ艳星| 亚洲白虎美女被爆操| 一本色道久久88精品综合| 国产精品专区第二| 成人免费直播live| 欧美黑人狂野猛交老妇| 国产精品美女免费视频| 午夜精品久久17c| 国产精品久久久久久久久免费| 国产丝袜视频一区| 欧美伦理91i| 日韩高清电影免费观看完整| 91欧美精品成人综合在线观看| 日韩精品中文字幕有码专区| 国产精品嫩草影院久久久| 日韩在线免费视频观看| 国产成人精品综合久久久| 7m精品福利视频导航| 久热精品视频在线观看一区| 自拍偷拍亚洲欧美| 欧美电影免费观看电视剧大全| 色99之美女主播在线视频| 亚洲人成自拍网站| 国产一区欧美二区三区| 国产精品高潮呻吟久久av黑人| 亚洲精品国精品久久99热一| 欧美亚洲日本黄色| 欧美在线视频一区二区| 伊人成人开心激情综合网| 日韩美女免费线视频| 欧美成人精品在线观看| 日本精品一区二区三区在线播放视频| 精品调教chinesegay| 在线成人激情视频| 成人黄色免费网站在线观看| 亚洲精品福利免费在线观看| 九九热这里只有精品免费看| 91精品视频在线免费观看| 国产欧美最新羞羞视频在线观看| 伊人久久大香线蕉av一区二区| 久久久www成人免费精品张筱雨| 亚洲欧美综合另类中字| 青青草成人在线| 91po在线观看91精品国产性色| 日韩av高清不卡| 亚洲影院在线看| 91亚洲精品视频| 欧美在线一级va免费观看| 精品人伦一区二区三区蜜桃免费| 最新中文字幕亚洲| 亚洲欧美精品一区二区| 精品福利在线观看| 亚洲va电影大全| 在线视频欧美日韩精品| 欧美最顶级的aⅴ艳星| 国产欧美精品一区二区三区介绍| 国产精品久久久久久中文字| 欧美中文在线观看| 亚洲精品白浆高清久久久久久| 日韩在线视频观看| 欧美性少妇18aaaa视频| 亚洲福利在线视频| 国产成人亚洲综合91精品| 久久精品视频一| 日韩美女av在线免费观看| 97香蕉久久夜色精品国产| 亚洲人成在线观| 国产精品视频导航| 久久这里只有精品视频首页| 亚洲欧美资源在线| 91久久久国产精品| 亚洲第一区第二区| 色先锋久久影院av| 亚洲成人在线视频播放| 亚洲影院高清在线| 欧美黑人xxxⅹ高潮交| 精品成人国产在线观看男人呻吟| 国产精品午夜国产小视频| 国语自产精品视频在线看| 中文字幕欧美在线| 精品久久久久久亚洲精品| 日韩电影大全免费观看2023年上| 亚洲乱码av中文一区二区| 日韩成人免费视频| 久久亚洲综合国产精品99麻豆精品福利| www.日韩.com| 成人精品视频99在线观看免费| 欧美日韩裸体免费视频| 精品国产一区二区三区久久| 欧美肥老太性生活视频| 欧美视频在线观看 亚洲欧| 91av视频在线免费观看| 成人动漫网站在线观看| 黄色一区二区三区| 久久久精品久久| 成人精品一区二区三区| 国产欧美一区二区三区久久人妖| 永久免费精品影视网站| 国产精品久久久久久久久久99| 亚洲人av在线影院| 亚洲精品国产福利| 日韩在线视频免费观看高清中文| 国产精品海角社区在线观看| 欧美一性一乱一交一视频| 久久综合久中文字幕青草| 久久999免费视频| 久久久久久久激情视频|