Como verificar se um arquivo está vazio no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se um arquivo está vazio no Linux usando diferentes ferramentas de linha de comando. Você explorará três métodos comuns: usando o comando test -s para verificar o tamanho do arquivo, empregando o comando wc -c para contar o número de bytes em um arquivo e, finalmente, examinando o conteúdo do arquivo diretamente com o comando cat. Através de exemplos práticos, você entenderá como cada método funciona e como interpretar sua saída para determinar se um arquivo contém dados.

Verificar o tamanho do arquivo com test -s

Nesta etapa, você aprenderá como verificar se um arquivo existe e não está vazio usando o comando test com a opção -s. O comando test é um comando de shell embutido usado para avaliar expressões condicionais. Ele é frequentemente usado em scripts de shell para tomar decisões.

A opção -s com test verifica se um arquivo existe e tem um tamanho maior que zero (ou seja, não está vazio).

Primeiro, vamos criar um arquivo vazio e um arquivo não vazio no seu diretório ~/project.

Abra seu terminal, caso ainda não esteja aberto. Você deve estar no diretório ~/project por padrão.

Crie um arquivo vazio chamado empty_file.txt:

touch empty_file.txt

Agora, crie um arquivo chamado non_empty_file.txt e adicione algum texto a ele usando o comando echo e o operador de redirecionamento >. O operador > redireciona a saída de um comando para um arquivo. Se o arquivo não existir, ele é criado. Se existir, seu conteúdo é sobrescrito.

echo "This file has content." > non_empty_file.txt

Agora, vamos usar o comando test -s para verificar esses arquivos. O comando test não produz saída em caso de sucesso. Ele sinaliza sucesso ou falha usando seu status de saída. Um status de saída de 0 significa sucesso (a condição é verdadeira), e um status de saída diferente de zero significa falha (a condição é falsa).

Podemos verificar o status de saída do comando anterior usando a variável especial $?.

Verifique o arquivo vazio:

test -s empty_file.txt
echo $?

Você deve ver a saída 1, indicando que a condição (arquivo existe e não está vazio) é falsa para empty_file.txt.

Agora, verifique o arquivo não vazio:

test -s non_empty_file.txt
echo $?

Você deve ver a saída 0, indicando que a condição é verdadeira para non_empty_file.txt.

Esta é uma maneira fundamental de verificar as propriedades do arquivo em scripts de shell. Você pode usar isso para garantir que um arquivo tenha conteúdo antes de tentar processá-lo.

Clique em Continuar para prosseguir.

Contar bytes do arquivo usando wc -c

Nesta etapa, você aprenderá como contar o número de bytes em um arquivo usando o comando wc com a opção -c. O comando wc é um utilitário que imprime contagens de novas linhas, palavras e bytes para cada arquivo.

A opção -c diz ao wc para contar apenas os bytes.

Vamos usar os arquivos que criamos na etapa anterior: empty_file.txt e non_empty_file.txt.

Primeiro, conte os bytes em empty_file.txt. Certifique-se de estar no diretório ~/project.

wc -c empty_file.txt

Você deve ver uma saída semelhante a esta:

0 empty_file.txt

Isso mostra que empty_file.txt tem 0 bytes, o que faz sentido porque é um arquivo vazio.

Agora, conte os bytes em non_empty_file.txt:

wc -c non_empty_file.txt

Você deve ver uma saída semelhante a esta:

23 non_empty_file.txt

O número 23 representa o número de bytes no arquivo "This file has content." seguido por um caractere de nova linha adicionado por echo. Cada caractere normalmente ocupa um byte.

O comando wc é muito útil para obter rapidamente informações sobre o tamanho dos arquivos. Você também pode usar wc sem opções para obter contagens de linhas, palavras e bytes. Tente executar wc non_empty_file.txt para ver a diferença.

Clique em Continuar para passar para a próxima etapa.

Visualizar o conteúdo do arquivo com o comando cat

Nesta etapa, você aprenderá como visualizar o conteúdo de um arquivo usando o comando cat. O comando cat é a abreviação de "concatenate" (concatenar) e é usado principalmente para exibir o conteúdo de arquivos.

Vamos usar os arquivos que criamos nas etapas anteriores: empty_file.txt e non_empty_file.txt. Certifique-se de estar no diretório ~/project.

Primeiro, tente visualizar o conteúdo de empty_file.txt:

cat empty_file.txt

Como empty_file.txt está vazio, o comando cat não exibirá nenhuma saída.

Agora, visualize o conteúdo de non_empty_file.txt:

cat non_empty_file.txt

Você deve ver o conteúdo que adicionamos na etapa anterior:

This file has content.

O comando cat é uma maneira simples e rápida de exibir todo o conteúdo de um arquivo diretamente no seu terminal. Tenha cuidado ao usar cat em arquivos muito grandes, pois ele imprimirá tudo na sua tela, o que pode ser excessivo. Para arquivos grandes, comandos como less ou more são mais adequados, pois permitem que você visualize o conteúdo página por página.

Você também pode usar cat para combinar o conteúdo de vários arquivos e exibi-los. Por exemplo, se você tivesse file1.txt e file2.txt, cat file1.txt file2.txt exibiria o conteúdo de file1.txt seguido pelo conteúdo de file2.txt.

Clique em Continuar para concluir este laboratório.

Resumo

Neste laboratório, você aprendeu como verificar se um arquivo está vazio no Linux usando o comando test -s. Este comando verifica se um arquivo existe e tem um tamanho maior que zero, retornando um status de saída de 0 para verdadeiro (não vazio) e 1 para falso (vazio ou inexistente). Você praticou a criação de arquivos vazios e não vazios e a verificação de seu status usando test -s e a verificação do status de saída com $?.