problema com find (shell script)

1

Eu quero os arquivos de um determinado diretório e use o seguinte script:

echo "give name of directory: "
read directory
if  [ -d "$directory"   ]
then 
echo "thanks again"
else exit
fi
find  /-type f $directory

Infelizmente isso não funciona.

    
por ted 07.01.2016 / 15:09

3 respostas

0

O comando find foi escrito incorretamente:

find  /-type f $directory

Deve ser:

find "$directory" -type f

Observe que o comando find é recursivo. Se você estiver interessado apenas em arquivos no diretório especificado, use:

find "$directory" -maxdepth 1 -type f

E, finalmente, para adicionar uma versão um pouco mais simples:

echo "give name of directory: "
read directory
if  [ -d "$directory" ]
then 
    echo "thanks again"
    find  "$directory" -maxdepth 1 -type f
fi
    
por 07.01.2016 / 15:12
1

find $directory -type f

que encontrará todos os arquivos nesse diretório, incluindo os subdiretórios

    
por 07.01.2016 / 15:12
1

Eu estou supondo aqui, mas isso pode ser o que você quer:

echo "give name of directory: " 
read directory 
if [ -d "$directory" ]
then 
    echo "thanks again" 
else 
    exit 
fi 
find $directory -type f

Você tinha find procurando / no diretório raiz.

    
por 07.01.2016 / 15:12