Comando Linux · 3 min read · Sep 16, 2025

Tutorial do comando comm do Linux para iniciantes (5 exemplos)

O comando comm no Linux permite que os usuários comparem dois arquivos ordenados linha por linha. Neste tutorial, discutiremos esta ferramenta de linha de comando usando exemplos fáceis de entender. Mas antes de fazermos isso, observe que todos os exemplos mencionados neste tutorial foram testados no Ubuntu 16.04LTS.

Comando comm do Linux

Os seguintes exemplos devem lhe dar uma boa ideia de como a ferramenta ‘comm’ funciona.

1. Como comparar dois arquivos ordenados usando comm

Para comparar dois arquivos ordenados usando ‘comm’, tudo o que você precisa fazer é passar seus nomes como argumentos para a ferramenta de linha de comando. Aqui está a sintaxe genérica:

comm [nome-do-primeiro-arquivo] [nome-do-segundo-arquivo]

Por exemplo, suponha que ‘file1’ e ‘file2’ sejam os dois arquivos em nosso caso. O primeiro contém as seguintes linhas:

001  
056  
127  
258

enquanto o segundo contém as seguintes linhas:

002  
056  
167  
369

Agora, aqui está a saída do comando ‘comm’ neste caso:

comm file1 file2

Então você pode ver que a saída consiste em três colunas. A primeira contém linhas exclusivas de ‘file1’, a segunda contém linhas exclusivas de ‘file2’, e finalmente, a terceira coluna contém linhas comuns a ambos os arquivos.

2. Como suprimir colunas individuais na saída do comando comm

Se você quiser, pode suprimir colunas individuais na saída do comando comm. Para isso, você tem três opções de linha de comando: -1, -2 e -3. Como você deve ter adivinhado, esses números representam as colunas que você deseja suprimir.

Por exemplo, aqui está o comando para suprimir a terceira coluna em nosso caso:

comm -3 file1 file2

Então você pode ver que a terceira coluna foi suprimida.

Observe que você pode suprimir várias colunas com um único comando. Por exemplo:

comm -12 file1 file2

suprimirá tanto a primeira quanto a segunda colunas.

3. Como fazer o comm comparar arquivos que não estão ordenados

Como sabemos, o comando comm só funciona com arquivos ordenados. Se ele descobrir que um arquivo não está ordenado, uma mensagem é produzida na saída que informa o usuário sobre isso. Por exemplo, trocamos a primeira e a segunda linhas em ‘file1’ e, em seguida, o comparamos com ‘file2’. Aqui está o que a saída foi:

Então você pode ver que o comando produziu uma saída dizendo que ‘file1’ não está ordenado. Agora, se você não quiser que a ferramenta verifique se a entrada está ordenada ou não, pode usar a opção –nocheck-order.

comm --nocheck-order file1 file2

Então você pode ver que a mensagem que estava sendo exibida anteriormente foi suprimida.

Por favor, note que caso você queira explicitamente dizer ao comando comm para realizar a verificação de ordenação nos arquivos de entrada, você pode usar a opção –check-order.

4. Como separar colunas da saída do comm com uma string personalizada

Por padrão, as colunas na saída do comando comm são separadas por espaços. No entanto, se você quiser, pode mudar isso e ter uma string de sua escolha como separador. Isso pode ser feito usando a opção –output-delimiter. Esta opção requer que você especifique a string que deseja usar como separador.

comm --output-delimiter=STR file1 file2

Por exemplo, usamos o símbolo de mais (+) como delimitador.

5. Como fazer a saída do comm ter linhas terminadas em NUL

As linhas de saída do comando comm são terminadas em nova linha por padrão. No entanto, se você quiser, pode fazê-las ser terminadas em NUL em vez disso. Isso pode ser feito usando a opção de linha de comando -z.

comm -z file1 file2

Conclusão

O comando comm não oferece muitos recursos - cobrimos quase todas as suas opções de linha de comando aqui. Portanto, apenas entenda e pratique tudo o que discutimos neste tutorial, e você estará pronto para usar a ferramenta em suas tarefas diárias. Em caso de dúvida ou consulta, acesse a página do manual do comando ou deixe um comentário abaixo.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.