Script Bash paira contair o número de files

Eu tenho um script e eu quero exibir mensagens diferentes se um file existe ou não. Eu tenho um script como:

count=ls /import/*.zip | wc -l echo "Number of files: " $count if [ "$count" > "0" ]; then echo "Import $count files" else echo "**** No files found ****" fi 

No entanto, se nenhum file existir, isso está mostrando No such file or directory vez de 0 files. Há um diretório no diretório /import/ , então eu não posso simplesmente fazer um command ls porque sempre retornairá um valor maior que 0.

Como posso contair o número de files de uma extensão específica (.zip, .gz, etc.) e usair esse valor em um script bash paira exibir o número de files e depois usá-lo em uma instrução if paira exibir mensagens diferentes?

3 Solutions collect form web for “Script Bash paira contair o número de files”

count=$(find /import -maxdepth 1 -name '*.zip' | wc -l)

Tente com isso:

 count=$(find /import/ -maxdepth 1 -type f -name '*.zip' | wc -l) ... if [ $count -gt 0 ] ; then ... else ... fi 

A idéia é ocultair o erro "sem file" que é impresso em STDERR, enviando-o paira o bitbucket e paira usair a function de teste apropriada paira compairair numbers. ( -gt significa "maior que". Há também -eq , -ge , -ge , etc.)

Eu tentei seu script e, como esperado, quando nenhum file é compatível, ele mostra os files 0 na saída, mas também mostra o erro ls antes. Resolview isso é bastante fácil, não há necessidade de abandonair ls . Basta replace a primeira linha por isso:

 count=$(ls /import/*.zip 2>/dev/null| wc -l) 

2>/dev/null redireciona stderr paira /dev/null , suprimindo a mensagem de erro.

  • Métodos de Automação - Modelos ou Scripts
  • Como compairair a data de hoje contra uma série de datas
  • Iniciair Processo como fonte de alimentação normal do user
  • Como determinair quantos shells podem ser probackgrounds?
  • Como usair um file de configuration (ini, conf, ...) com um script Powershell? É possível?
  • Método mais eficiente paira sincronizair muito grande número de files
  • Script Powershell paira excluir files mais antigos (não relativo à data atual)
  • substituindo uma linha ou data em um file de text usando powershell
  • Como remoview periodicamente todo o conteúdo de um file sem excluí-lo