4
respostas

Resultado 2

Meu script sempre retorna 2, mesmo não existindo o arquivo da busca. Pode me auxiliar?

4 respostas

Henrique, envie o script

#!/bin/bash

compacta-logs.sh ANO

Compacta os arquivos que possuem nome log e o ANO definido em um arquivo chamado logs.zip

#

ANO ano dos arquivos a serem compactados

ANO=${1}

echo "Compactando os arquivos de ${ANO} em pwd"

find . -name "log" -name "${ANO}" | zip -@ ${HOME}/logs.zip | wc -l

O Bash foi configurado também: BASH:$BASH:.

Obrigado!

Também, no resultado, não imprime os arquivos que foram compactados, diferente do que o professor demonstra.

Henrique, se vc tirar o wc -l, que seve para contar as linhas, vc verá a seguinte mensagem

$ find -name log -name ${ANO}|zip -@ log.zip

zip error: Nothing to do! (log.zip)

O 2 que aparece são as duas linha de resposta do comando. Uma linha em branco e outra com o erro

A solução é corigir o find que faltou o asterisco e as aspas

$ find -name "*log*" -name "*${ANO}*"|zip -@ log.zip| wc -l