最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一天一個shell命令 文本操作系列-comm命令用法

 更新時間:2016年05月31日 23:49:21   作者:書生  
這篇文章主要介紹了linux系統(tǒng)下的comm命令是一個非常實用的文件對比命令,需要的朋友可以參考下

 comm命令比較兩個已排序文件每行數據的差異,并將其結果顯示出來,如果沒有指定任何參數,comm命令讀取這兩個文件,然后生成三列輸出:1>僅在file1中出現的行2>僅在file2中出現的行3>在兩個文件中都存在的行。
  如果為文件名之一指定 -(減號),則 comm 命令會從標準輸入設備讀取數據。

題外話:說到比較文件,過來人都用過Beyond Compare,老版本時候,我們只能右鍵選中用于比較的文件,再選中被比較文件,對比。 如今他有了豐富的界面,支持linux上比較文件。 干什么用的?svn管理不善的時候,版本控制做的不好的時候,你就會期望他了。這都是經驗- -!

回到正題:在shell中,也有個這么個命令---comm。 comm可用于兩個文件之間的比較??梢杂糜谖募谋容^,交集,求差以及差集操作。

這個定義其實不夠詳細,應該是 comm逐行比較已排序的文件1和文件2.

全稱:

(慚愧)沒有找到合適的全稱。 com 很明顯是compare開頭,m為mode。望高手指正。

查看—help

用法:comm [選項]... 文件1 文件2
逐行比較已排序的文件文件1 和文件2。

如果不附帶選項,程序會生成三列輸出。第一列包含文件1 特有的行,第二列包含 文件2 特有的行,而第三列包含兩個文件共有的行。

  -1        不輸出文件1 特有的行
  -2        不輸出文件2 特有的行
  -3        不輸出兩個文件共有的行

  --check-order            檢查輸入是否被正確排序,即使所有輸入行均成對
  --nocheck-order        不檢查輸入是否被正確排序
  --output-delimiter=STR    依照STR 分列

 解讀:

1. --check-order

該命令默認情況下  如果希望不檢驗排序,可以--nocheck-order。

 2. --output-delimiter=STR

 STR 就是個表達式。 可以是任何非特殊字符

3. -1,-2

  可以寫成 -12 與普通命令用起來一樣

  實例:

1.建立A.txt

加入元素

apple
 orange
 gold
 silver
 steel
 iron

2. 建立B.txt

加入元素

orange
 gold
 cookies
 carrot

可以嘗試直接比較: comm A.txt B.txt

你會發(fā)現提示一個錯誤,沒有排序。

3. 排序

復制代碼 代碼如下:

sort A.txt -o A.txt; sort B.txt -o B.txt

4. 比較

復制代碼 代碼如下:

$comm A.txt B.txt

復制代碼 代碼如下:

apple  
      carrot  
      cookies  
                gold  
iron  
                orange  
silver  
steel

結果實際為3列 其中第一列是文件1特有 -1表示刪除第一列

第二列是文件2特有的  -2代表刪除第二列
第三列代表共同有的  -3代表刪除共有的列

4.1 打印交集:

$comm –12 A.txt B.txt

4.2 打印兩個文件中不同的行

$comm –3 A.txt B.txt

補充個小修改,兩列不好看,用sed刪除行首的\t

$comm –3 A.txt B.txt | sed 's/^\t//'

實戰(zhàn):

  comm在實戰(zhàn)中,只會在一些非常特殊的場景中用到。 比較簡單,就不舉例了。(筆者遇到的場景中,仍然堅持有更好的方案時候,不用這個命令,呵呵)。

本文出自 “書生” 博客

相關文章

  • 一個簡潔的全自動安裝LNMP服務器環(huán)境的Shell腳本分享

    一個簡潔的全自動安裝LNMP服務器環(huán)境的Shell腳本分享

    這篇文章主要介紹了一個簡潔的全自動安裝LNMP服務器環(huán)境的Shell腳本分享,本文腳本在生產環(huán)境上使用了一年多,腳本代碼簡單唯美,需要的朋友可以參考下
    2014-12-12
  • 詳解Shell編程之變量數值計算(一)

    詳解Shell編程之變量數值計算(一)

    本篇文章主要介紹了詳解Shell編程之變量數值計算,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • shell腳本實現同時多臺遠程主機執(zhí)行命令的代碼分享

    shell腳本實現同時多臺遠程主機執(zhí)行命令的代碼分享

    這篇文章主要給大家介紹了關于shell腳本實現同時多臺遠程主機執(zhí)行命令的方法,文中給出了詳細的代碼示例,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Shell循環(huán)語句及中斷語句的使用

    Shell循環(huán)語句及中斷語句的使用

    本文主要介紹了Shell循環(huán)語句及中斷語句的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • Shell腳本定義變量和重新賦值

    Shell腳本定義變量和重新賦值

    這篇文章主要介紹了Shell腳本定義變量和重新賦值,以及變量命名規(guī)則,需要的朋友可以參考下
    2014-07-07
  • 使用bash shell刪除目錄中的特定文件的3種方法

    使用bash shell刪除目錄中的特定文件的3種方法

    這篇文章主要介紹了使用bash shell刪除目錄中的特定文件的3種方法,分別為擴展模式匹配符、GLOBIGNORE 變量和find 命令,需要的朋友可以參考下
    2014-06-06
  • shell腳本的流程控制語句的實現

    shell腳本的流程控制語句的實現

    本文主要介紹了shell腳本的流程控制語句的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 利用expect命令實現Shell自動化交互的方法詳解

    利用expect命令實現Shell自動化交互的方法詳解

    我們通過Shell可以實現簡單的控制流功能,如:循環(huán)、判斷等。下面這篇文章主要給大家介紹了關于利用expect命令實現Shell自動化交互的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • 一個簡單的linux命令 mv

    一個簡單的linux命令 mv

    這篇文章主要介紹了一個簡單的linux命令mv,mv命令用于移動文件或者將文件改名,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Linux shell 實現用for循環(huán)100次的方法

    Linux shell 實現用for循環(huán)100次的方法

    今天小編就為大家分享一篇Linux shell 實現用for循環(huán)100次的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論

库尔勒市| 华容县| 山东| 清原| 济南市| 天门市| 叙永县| 罗城| 青岛市| 郧西县| 婺源县| 定远县| 花垣县| 平度市| 繁昌县| 兴安盟| 叶城县| 乌兰县| 平果县| 德阳市| 贡觉县| 六盘水市| 盐池县| 金沙县| 鄄城县| 原平市| 永德县| 开平市| 塔河县| 定西市| 平南县| 瓦房店市| 贺兰县| 巢湖市| 平利县| 舞钢市| 东乡| 闽侯县| 芦山县| 临城县| 无棣县|