Como usar o comando COMM no Linux

Como usar o comando COMM no Linux
O comando COMM é usado no Linux para comparar diferentes arquivos, este comando compara cada linha dos arquivos e exibe as linhas exclusivas e as linhas comuns dos arquivos em colunas separadas. A necessidade de comparação de arquivos ocorre principalmente com os programadores; Quando eles precisam descobrir as modificações feitas no programa ao longo do tempo.

Nesta redação, vamos explicar a utilização do comando de comando no Linux com uma explicação detalhada.

Como usar o comando COMM no Linux

O comando COMM pode ser usado para comparar dois arquivos linha por linha, a sintaxe geral de usar o comando COMM:

$ comm [option] file_name1 file_name2

A sintaxe do comando acima exibirá o resultado em três colunas; A primeira coluna exibirá as linhas exclusivas do arquivo1, a segunda coluna exibirá as linhas exclusivas do arquivo2 e a terceira coluna exibirá as linhas comuns de ambos os arquivos.

Também podemos usar algumas opções junto com o comando COMM; Algumas opções comumente usadas são:

Opções Explicação
-1 Ele não exibirá a primeira coluna do resultado, que contém as linhas exclusivas do arquivo1
-2 Ele não exibirá a segunda coluna do resultado, que contém as linhas exclusivas do arquivo2
-3 Ele não exibirá a terceira coluna do resultado, que contém as linhas comuns de ambos os arquivos; file1 e file2
-Ordem de verificação Ele verificará todas as linhas de ambos os arquivos são classificados corretamente ou não
-Ordem de Nocheck Não verificará a ordem de classificação e apenas exibirá os resultados
-ajuda Ele mostrará um prompt de mensagem de ajuda e sairá
-versão Ele mostrará a versão das informações e saídas
-total Ele exibirá o número total de linhas presentes em cada coluna do resultado
-Z, -Zo -delimitador Ele exibirá os arquivos separadamente em vez das colunas; O valor de zero delimitadores é nulo
-saída-delimiter = [qualquer caractere] Ele substituirá os "espaços" nos resultados usando o personagem que você deseja colocar lá

Para entender todas essas opções, consideraremos dois arquivos de texto com o nome; MyTestFile1.txt e mytestFile2.txt, cujo conteúdo pode ser exibido usando os comandos:

$ cat mytestfile1.TXT
$ cat mytestfile2.TXT

Primeiro, compararemos os dois arquivos usando o comando COMM sem nenhuma opção, para esse fim, temos que usar o comando:

$ comm mytestFile1.txt mytestFile2.TXT

Como sabemos, o comando COMM é aplicável nos arquivos classificados, e os arquivos fornecidos no comando não são classificados, por isso gerou os avisos de "arquivos não classificados", para remover esses comentários, usaremos o "-nocheck-order" Flag, que ignorará a verificação da ordem de classificação e exibirá os resultados:

$ comm--nocheck-orord MyTestFile1.txt mytestFile2.TXT

Na imagem acima, marcamos três colunas para uma melhor compreensão dos resultados, a primeira coluna exibiu as linhas exclusivas do MyTestFile1.txt, que é apenas "fedora", a segunda coluna exibiu as linhas exclusivas do mytestfile2.TXT, que é apenas "Debian", e a última coluna exibiu as linhas comuns de ambos os arquivos. Se quisermos exibir a coluna 1 (linhas exclusivas do mytestFile1.txt) e coluna 3 (linhas comuns de ambos os arquivos), suprimiremos a coluna 2 usando o sinalizador "-2":

$ comm -2 - -Nocheck -orord MyTestFile1.txt mytestFile2.TXT

Da mesma forma, podemos suprimir as duas colunas 1, a coluna 2 e exibir apenas a coluna 3 (contendo as linhas comuns de ambos os arquivos) executando o comando:

$ comm -12 - -nocheck -orord MyTestFile1.txt mytestFile2.TXT

A saída exibiu apenas a terceira coluna do resultado, a fim de descobrir o número total de linhas de cada coluna, use o comando:

$ COMM-TOTAL--NOCHECK-PERDEM MYTESTFILE1.txt mytestFile2.TXT

Para verificar se a ordem de classificação de ambos os arquivos está na ordem correta ou não, execute o comando COMM usando o sinalizador "-CHECK-Order":

$ COMM-CHECK-PERDEM MYTESTFILE1.txt mytestFile2.TXT

Os resultados mostram que o arquivo 1 não está em ordem classificada porque os nomes dos arquivos não são organizados em ordem alfabética nem em ordem ascendente ou em ordem decrescente, da mesma forma que o sinalizador "-Zo-delimitador" é usado:

$ Comm-MyTestFile1 terminado em gelo1.txt mytestFile2.TXT

Da mesma forma, podemos usar o “-Output-Delimiter = **” com o comando COMM para substituir o espaço por “Star (*)”:

$ comm-output-Delimiter = **--Nocheck-Order MyTestFile1.txt mytestFile2.TXT

Para verificar a versão do comando COMM:

$ comm -versão

Se você quiser saber mais sobre o comando COMM, pode verificar seu manual usando o comando:

$ Man Comm

Conclusão

O comando COMM é usado para comparar as linhas dos arquivos classificados no Linux. O comando COMM é fácil de usar e recomendado onde os arquivos contêm scripts e apenas uma comparação mais simples é necessária. Neste artigo, discutimos o comando de comm e suas várias opções brevemente com a ajuda de exemplos.