O comando cmp(do inglês compare) em sistemas operacionais unix-like compara dois arquivos de qualquer tipo, byte a byte, e grava os resultados para a saída padrão. Por padrão, o programa não produz saída se os arquivos forem o mesmo; se forem diferentes, a contagem de bytes até a linha e o número da linha onde houve diferença são relatados.[1][2]

cmp
Autor Torbjorn Granlund e David MacKenzie
Desenvolvedor AT&T Bell Laboratories
Lançamento 3 de novembro de 1971, 53 anos atrás
Sistema operacional Unix, Unix-like
Licença GNU GPL

A sintaxe geral do comando cmp é a seguinte[2]:

cmp [OPÇÃO]... ARQUIVO1 [ARQUIVO2 [PULAR1 [PULAR2]]]

Os argumentos ARQUIVO1 e ARQUIVO2 indicam os arquivos a serem comparados. Caso o ARQUIVO2 não seja informado, a informação é lida da entrada padrão. PULAR1 e PULAR2 indicam o número de bytes a serem pulados a partir do início de cada arquivo antes de iniciar a comparação (os sufixos kB, K, MB, M, GB, G podem ser usados como os multiplicadores 1000, 1024, 1.000.000, 1.048.576, 1.000.000.000 respectivamente - o mesmo vale para os prefixos T, P, E etc).

Opções

editar

As opções mais comuns do comando cmp são[3]:

  • --bytes (-n) - Deve ser seguido pelo número máximo de bytes a ser comparado entre os arquivos
  • --quiet, --silent (-s) - Suprime toda saída padrão do programa

Exemplos

editar

Nos exemplos abaixo o conteúdo de arquivo1 é igual ao conteúdo de arquivo3 e o conteúdo de arquivo2 é diferente de ambos.

cmp arquivo1 arquivo2 # compara 'arquivo1' e 'arquivo2'
                      # produz a seguinte saída
                      # "arquivo1 arquivo2 differ: byte 5, line 1
cmp arquivo1 arquivo3 # compara 'arquivo1' e 'arquivo3'
                      # não produz saída porque eles são iguais
cat arquivo2 | cmp arquivo1 # compara 'arquivo1' com a saída do comando
                            # 'cat arquivo2', o comando cat exibe o conteudo
                            # de 'arquivo2', produzindo a mesma saída final
                            # que 'cmp arquivo1 arquivo2'

Valores de retorno

editar

O comando possuí os seguintes valores de retorno:[3]

  • 0 - se os arquivos são idênticos
  • 1 - se os arquivos são diferentes
  • 2 - se algum dos arquivos é inacessível ou se houve erro de sintaxe

Veja também

editar
  • diff - Comando que compara dois arquivos linha a linha

Notas e Referências

  1. «DESCRIPTION». pubs.opengroup.org (em inglês). Consultado em 16 de dezembro de 2014 
  2. a b «cmp(1): compare two files byte by byte - Linux man page». linux.die.net. Consultado em 30 de março de 2019 
  3. a b «Comparing and Merging Files: Invoking cmp». www.gnu.org. Consultado em 30 de março de 2019 


  Este artigo sobre Unix é um esboço. Você pode ajudar a Wikipédia expandindo-o.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy