Pular para o conteúdo

Procurar se existe algum diretório dentro de alguma pasta [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Procurar se existe algum diretório dentro de alguma pasta [RESOLVIDO]

Enviado em 27/05/2019 - 18:39h

Fala Galerinha,

Eu to precisando realizar uma condição aqui no meu servidor, onde eu quero q ele verifique se na pasta "\SERVER\ARQUIVO\" Exista alguma pasta dentro

Eu a princípio estava usando o seguinte comando:

if [ -e "\SERVER\ARQUIVO\"]; then

Porém, aqui ele somente verifica se existe a pasta arquivo, ele não verifica se existe alguma pasta dentro da pasta ARQUIVO, fui claro?

Então, eu precisava saber existe alguma condição pra mandar ele identificar se existe alguma coisa dentro dessa pasta e me retornar um valor se verdadeiro ou falso.




Responder tópico

2. Re: Procurar se existe algum diretório dentro de alguma pasta [RESOLVIDO]

Melhor resposta

Enviado em 28/05/2019 - 03:52h


LuizCosta escreveu:

Fala Galerinha,

Eu to precisando realizar uma condição aqui no meu servidor, onde eu quero q ele verifique se na pasta "\SERVER\ARQUIVO\" Exista alguma pasta dentro

Eu a princípio estava usando o seguinte comando:

if [ -e "\SERVER\ARQUIVO\"]; then

Porém, aqui ele somente verifica se existe a pasta arquivo, ele não verifica se existe alguma pasta dentro da pasta ARQUIVO, fui claro?

Então, eu precisava saber existe alguma condição pra mandar ele identificar se existe alguma coisa dentro dessa pasta e me retornar um valor se verdadeiro ou falso.

"\SERVER\ARQUIVO\" essa barra invertida parece do Windows.....
No linux, o comando,
find /home/user/Documentos/* -type d
Busca por diretórios na pasta especificada
Outra opção:
stat /home/user/Documentos/* -c %F
Com ls:
ls -dlR /home/user/*|grep -c '^d'
É isso...


Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver

3. Re: Procurar se existe algum diretório dentro de alguma pasta [RESOLVIDO]

Enviado em 27/05/2019 - 22:06h

Para verificar se há subdiretórios dentro do diretório teste:
[ -d teste/* ] 


Para verificar se há arquivos dentro do diretório teste:
[ -f teste/* ] 


- O parâmetro -d diz ao test que estamos procurando por diretórios.

- O parâmetro -f diz ao test que estamos procurando por arquivos.

- O asterisco (*) funciona como um coringa. Ele dá "match" em qualquer arquivo/diretório que encontrar.

- O teste é um diretório que usei como exemplo. Você pode altera-lo e usar o caminho do diretório que você deseja verificar.

Dica: não utilize aspas ou apóstrofos ao específicar o caminho dos diretórios entre os colchetes [ ]. Se você fizer isso, o asterisco (*) será considerado como um texto simples em vez de uma string expansível.

Correto:
[ -d /home/user/* ] 


Errado:
[ -d '/home/user/*' ] 


Para construir uma verificação em cima disso, você pode usar o if-fi:
if [ -d /home/user/teste/* ]; then
echo 'Existem um ou mais diretórios em /home/user/teste!'
else
echo 'Não existe nenhum diretório em /home/user/teste'
fi


Ou de uma forma mais simples:
[ -d /home/user/teste/* ] && echo 'Existem um ou mais diretórios em /home/user/teste!' || { echo 'Não existe nenhum diretório em /home/user/teste'; }  

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder