cmp (Unix)
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 |
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]
Uso
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]- diff - Comando que compara dois arquivos linha a linha
Notas e Referências
- ↑ «DESCRIPTION». pubs.opengroup.org (em inglês). Consultado em 16 de dezembro de 2014
- ↑ a b «cmp(1): compare two files byte by byte - Linux man page». linux.die.net. Consultado em 30 de março de 2019
- ↑ a b «Comparing and Merging Files: Invoking cmp». www.gnu.org. Consultado em 30 de março de 2019