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.