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

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

Luiz Henrique
LuizCosta

(usa CentOS)

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.






  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

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]

André Gonçalo
SnwMds

(usa Debian)

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'; }  







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts