導讀 | Linux 中的 comm 指令可以讓使用者按行比較兩個已經排序好的檔案。在本教程中,我們將使用一些淺顯易懂的範例來討論這個命令列工具。在開始之前,請注意,本教程中提到的所有範例都已經在 Ubuntu 16.04LTS 版本中測試過。 .
下面的範例將會告訴你 comm 指令是如何運作的。 。 |
要使用comm 指令比較兩個排序好的文件,只要要把它們的名字當作comm 指令的參數。下面是通常的語法:
comm [name-of-first-file] [name-of-second-file]
例如,假設file1 和file2 是這種情況下的兩個檔案。前者包含下面幾行內容:
001 056 127 258
而後者包含下面幾行內容:
002 056 167 369
此時,comm指令的輸出如下圖所示:
comm file1 file2
#你可以看到,輸出包含 3 列。第一列是僅包含在file1中的內容,第二列是僅包含在file2 中的內容,最後,第三列是兩個檔案中都包含的內容。
如何不輸出 comm 指令輸出中的某些欄位如果你想,你可以不輸出 comm指令輸出中的某些欄位。對於該特性,你有三個命令列選項可用:-1、-2 和 -3 。正如你所猜想的,這些數字表示你不想輸出的列。
例如,下面這個指令將會不輸出上面範例中的第三列:
comm -3 file1 file2
#因此,你可以看到,第三列並沒有輸出。
注意,你可以透過一個單一指令同時不輸出多列內容。如:
comm -12 file1 file2
上面這個指令將會不輸出第一、二列。
如何使用 comm 指令比較兩個未排序好的檔案如我們所知道的,comm 只可用於排序好的檔案。如果發現其中一個檔案未排序好,那麼便會在輸出中產生一條訊息來告訴使用者。例如,我們交換 file1 的第一行和第二行,然後再與 file2 進行比較。下面是該指令的輸出:
#你可以看到,這個指令產生一個輸出告訴我們:file1 還沒排序好。此時,如果你不想讓這個工具檢查輸入是否已經排序好,那麼你可以使用 --nocheck-order 選項:
comm --nocheck-order file1 file2
#你可以看到,前面出現的提示訊息已經消失了。
注意,如果你想明確告訴 comm 指令來檢查輸入檔是否排序好,那麼你可以使用 --check-order選項。
如何用自定义字符串分隔comm 命令的输出列默认情况下,comm 命令的输出列之间是以空格分隔的。然而,如何你想使用一个自定义字符串作为分隔符,那么你可以使用 --output-delimiter选项。使用该选项时需要指定你想用来作为分隔符的字符串。
comm --output-delimiter=+ file1 file2
比如,我们使用加号来作为分隔符:
默认情况下,comm 命令的输出行以新行终止。然而,如果你想,那么你可以改为以 NUL
字符终止,只需要使用-z 选项即可:
comm -z file1 file2结论
comm 命令并没有特别多的特性性,我们在这儿已经讨论了它的绝大多数命令行选项。只需要理解和练习在这篇教程中讨论的内容,那么你便可以在日常工作中知道如何使用这个工具了。如果你有任何问题或者疑问,请前往该命令的 man 手册,或者在下面评论。
以上是透過使用'comm'指令來比較兩個已排序的文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境