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

首頁 > 開發 > PowerShell > 正文

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

2020-03-26 19:25:11
字體:
來源:轉載
供稿:網友

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

方法一: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

輸出:
PowerShell,比較文本文件
 

測試用例二

 

輸入

第一個文件內容為:

復制代碼 代碼如下:

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

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

玉樹臨瘋


輸出:
PowerShell,比較文本文件
 

 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91tv亚洲精品香蕉国产一区7ujn| 久久久久久久久久久网站| 欧美国产日本在线| 亚洲视频在线免费观看| 久久天天躁狠狠躁老女人| 久久精品亚洲国产| 亚洲国产日韩欧美综合久久| 欧美日韩亚洲精品内裤| 亚州欧美日韩中文视频| 亚洲精品日韩欧美| 欧美日韩精品在线视频| 亚洲天堂精品在线| 亚洲最大福利视频| 91欧美精品午夜性色福利在线| 一本色道久久综合亚洲精品小说| 在线成人激情视频| 欧美尤物巨大精品爽| 国产精品大陆在线观看| 欧美中文在线字幕| 美女啪啪无遮挡免费久久网站| 国产欧美在线播放| 欧美日本啪啪无遮挡网站| 亚洲国产欧美一区二区丝袜黑人| 久久久av亚洲男天堂| 国产成人精品电影| 欧美福利在线观看| 久久成人这里只有精品| 91大神福利视频在线| 精品亚洲aⅴ在线观看| 成人国产精品久久久久久亚洲| 日本精品久久久久久久| 亚洲已满18点击进入在线看片| 日韩欧美在线视频观看| 日日狠狠久久偷偷四色综合免费| 久久天堂av综合合色| 国产在线视频2019最新视频| 久久久精品国产网站| 国内精品免费午夜毛片| 亚洲自拍在线观看| 欧美性受xxxx黑人猛交| 91精品在线一区| 日韩在线精品一区| 亚洲网站在线看| 日韩欧美极品在线观看| 91国内揄拍国内精品对白| 久久亚洲精品小早川怜子66| 亚洲精品国产综合久久| 亚洲一区二区福利| 亚洲男人天堂九九视频| 在线成人一区二区| 国产精品av电影| 成人免费视频网| 欧美精品一二区| 欧美精品制服第一页| 亚洲综合av影视| 亚洲精品日韩在线| 亚洲福利精品在线| 国产精品igao视频| 91免费看国产| 亚洲色图色老头| 欧美刺激性大交免费视频| 国产精品久久77777| 国产mv免费观看入口亚洲| 国产成人极品视频| 亚洲欧洲一区二区三区在线观看| 国产精品网址在线| 国产国语刺激对白av不卡| 5566日本婷婷色中文字幕97| 狠狠躁夜夜躁人人爽超碰91| 亚洲欧美成人在线| 亚洲第一视频网站| 91精品综合视频| 亚洲国产精品人人爽夜夜爽| 国产亚洲精品美女久久久久| 久久久噜噜噜久久中文字免| xxav国产精品美女主播| 欧美最猛性xxxxx亚洲精品| 欧美国产日韩精品| 国产精品一香蕉国产线看观看| 日韩成人在线观看| 日韩欧美亚洲综合| 日本中文字幕不卡免费| 亚洲欧美资源在线| 欧美成人午夜激情| 欧美天堂在线观看| 法国裸体一区二区| 欧美—级a级欧美特级ar全黄| 欧美激情中文字幕乱码免费| 亚洲欧美在线一区二区| 欧美巨大黑人极品精男| 久久久噜噜噜久噜久久| 欧美午夜激情在线| 久久久女人电视剧免费播放下载| 国产精品xxxxx| 57pao成人国产永久免费| 久久网福利资源网站| 91免费看片网站| 国产在线不卡精品| 欧美高清视频在线| 亚洲成人久久一区| 俺去亚洲欧洲欧美日韩| 国产日产亚洲精品| 国产精品久久久久久久久久东京| 亚洲视频在线观看视频| 久久久在线观看| 国产精品福利在线| 亚洲www视频| 欧美日韩中文字幕综合视频| 精品久久久久久久久国产字幕| 欧美激情免费观看| 国产热re99久久6国产精品| 中文国产亚洲喷潮| 日韩经典一区二区三区| 国产亚洲精品久久久久久| 午夜精品久久久久久99热| 欧美精品精品精品精品免费| 欧美日在线观看| 国产亚洲精品va在线观看| 国产精品盗摄久久久| 日韩中文字幕免费视频| 97超碰国产精品女人人人爽| 97精品国产97久久久久久| 亚洲aⅴ男人的天堂在线观看| 久久久成人的性感天堂| 亚洲精品aⅴ中文字幕乱码| 日韩欧美国产成人| 亚洲欧美制服综合另类| 日韩亚洲成人av在线| 国产一区二区三区视频| 久久久久久久久网站| 精品国产31久久久久久| 欧美电影在线观看完整版| 亚洲欧美在线免费观看| 91wwwcom在线观看| 福利视频导航一区| 中文字幕欧美在线| 96sao精品视频在线观看| 亚洲成色777777女色窝| 欧美日本在线视频中文字字幕| 国产偷亚洲偷欧美偷精品| 91精品久久久久久久久久久久久| 日本亚洲欧洲色α| 欧美日韩国产精品| 欧美大片免费观看在线观看网站推荐| 日韩在线免费高清视频| 欧美黄色三级网站| 色爱av美腿丝袜综合粉嫩av| 日韩欧美aaa| 久久免费在线观看| 欧美午夜电影在线| 精品中文字幕在线2019| 久久九九全国免费精品观看| 欧美黑人国产人伦爽爽爽| 精品偷拍各种wc美女嘘嘘| 欧美高跟鞋交xxxxxhd| 欧美高清在线播放| 欧美日韩中文字幕在线| 91高潮精品免费porn| 亚洲欧美在线一区| xvideos亚洲人网站| 成人激情视频网| 色多多国产成人永久免费网站| 国内精品久久久久影院 日本资源| 日韩欧美在线视频日韩欧美在线视频|