Como verificar o arquivo existe e está vazio - bash

Como verificar o arquivo existe e está vazio - bash

Em scripts de shell ou bash, geralmente é necessário verificar se existe um arquivo e se está vazio. Isso é especialmente importante ao lidar com operações de entrada/saída ou ao executar ações com base no conteúdo de um arquivo. Neste artigo, discutiremos como verificar se existe um arquivo e está vazio ou não, leia este guia se você estiver procurando uma maneira fácil de fazer isso.

Como verificar se o arquivo existe e está vazio em bash

Ao trabalhar com scripts de shell, é importante poder verificar se existe um arquivo e se está vazio ou não. Isso é especialmente útil ao automatizar tarefas que dependem de arquivos específicos presentes e não vazios, aqui está um exemplo que ilustra como verificar se o arquivo existe e está vazio:

#!/BIN/BASH
filename = "Bashfile.sh "
size_threshold = 1
# Verifique se o arquivo existe
Se [-e "$ filename"]
então
# Obtenha o tamanho do arquivo em bytes
file_size = $ (wc -c < "$filename")
# Verifique se o arquivo está vazio
Se ["$ file_size" -gt "$ size_threshold"]
então
eco "o arquivo existe e não está vazio"
outro
eco "o arquivo existe, mas está vazio"
fi
outro
eco "o arquivo não existe"
fi


Neste exemplo de script bash, primeiro definimos o nome do arquivo, a variável size_threshold e depois verifique se existe algum arquivo com o nome fornecido usando a opção -e. Se existir, usamos o comando WC para obter o tamanho do arquivo em bytes e armazená -lo na variável File_size.

Em seguida, verificamos se o arquivo está vazio comparando o arquivo_size com o size_threshold. Se o arquivo for maior que o limite, produzimos uma mensagem indicando que o arquivo existe e não está vazio. Caso contrário, produzimos uma mensagem indicando que o arquivo existe, mas está vazio.

Ao definir um limite de tamanho, você pode personalizar o script para verificar se o arquivo está vazio com base em suas necessidades específicas.


Como o arquivo que estou verificando está vazio, o script bash mostrará que o arquivo está vazio e uma coisa a lembrar é que eu defini o limite para 1 byte porque um arquivo vazio ainda ocupa algum espaço do sistema, embora seja bastante baixo. Também existem outras maneiras para encontrar se o arquivo estiver vazio ou não, mas nenhum deles encontrará o arquivo vazio porque está ocupando 1 byte de espaço.

Conclusão

Na verificação de scripts de bash se houver um arquivo e se estiver vazio ou não é um aspecto crucial da script de shell. Neste artigo, demonstramos como verificar se existe um arquivo e se está vazio ou não usando um script de shell simples. Ao definir um limite de tamanho, você pode personalizar o script para verificar se o arquivo está vazio com base em suas necessidades específicas.