![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos! |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| awk problema em função Int () | qa.bingo | Programação Shell Script e | 2 | 01-02-2009 09:52 |
| Recursão | joshighanshyam | Alto Nível de programação | 5 | 12-03-2008 12:15 |
| Ajuda Ajuda Ajuda em recursividade | Murtaza | Programação Shell Script e | 6 | 03-29-2007 11:26 |
| Problema com recursão em subdiretórios | scotty_123 | Programação Shell Script e | 5 | 03-11-2007 05:51 |
| recursão | gsjf | Programação Shell Script e | 1 | 08-26-2002 01:22 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Função recursão Shift Problema
Oi, eu estou tentando criar um script que irá exibir o conteúdo dos diretórios usuários, mas estou confusa sobre como incorporar a mudança corretamente.
O problema que estou ficando com o meu script é que ele pensou que o primeiro casal de diretórios, mas em seguida, retorna um erro que ele perde o primeiro diretório quando continuando a pesquisa a outros diretórios (Espero que faz sentido?) EDIT: Peço desculpa, foi que o velho problema, agora o problema é o caminho a ser procurado acrescenta os diretórios de modo errado, dirige-se caminhos que não existem Aqui está o meu código, qualquer ajuda seria muito apreciada. Código:
direc=~
list=$(ls -l $direc | egrep '^d' | cut -d" " -f8)
function printList() {
for line in $*
do
echo $line
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8)
direc=$direc/$1
shift
printList $list
done
}
printList $list
Código:
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8 2>/dev/null) Código:
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8) 2>/dev/null ![]() Última edição por nuvpal; em 03/12/2009 06:22.. |
|
||||
|
Citação:
Basicamente o que quero fazer é o meu script para exibir uma representação visual do diretório especificado e todos os seus sub-diretórios (como a árvore comando). Eu tenho gerido a suprimir o original ls erro adicionando o 2> / dev / null para a função que chame a si próprio parece funcionar ok agora: Código:
#!/bin/bash
direc=~
seperator=....
list=$(ls -l $direc | egrep '^d' | cut -d" " -f8)
function printList() {
for line in $*
do
echo $line
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8 )
direc=$direc/$1
shift
printList $list 2>/dev/null
done
}
printList $list 2>/dev/null
dada a saída será algo como: (onde o. eo número representa os diretórios e subdiretórios) direc1 direc1.1 direc1.1.1 direc1.1.2 direc1.2 direc1.2.1 direc2 e então ela pára, quando o que eu quero isso para mostrar uma saída como: direc1 direc1.1 direc1.1.1 direc1.1.2 direc1.2 direc1.2.1 direc2 direc2.1 direc2.1.1 direc2.2 direc2.2.1 direc3 direc3.1 direc3.1.1 direc3.2 direc4 etc ... Última edição por nuvpal; em 03/12/2009 08:26.. |
|
||||
|
Citação:
Código:
tree ~ Espero que seja mais claro. E eu aprecio muito a vossa ajuda e tempo. ![]() |
|
||||
|
Citação:
direc1 seria a mãe diretório, direc1.1 e direção 1/2 seria sub-diretórios de direc1, e direc1.1.1 seria um sub-diretório do subdiretório direc1.1 Espero thats um pouco mais clara ![]() |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|