The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Classificando Directory Listing Sépia UNIX para Dummies Perguntas & Respostas 1 07-11-2007 08:44
Como posso obter diretório listagem? haisubbu UNIX para Dummies Perguntas & Respostas 2 08-25-2006 10:03
Full Directory Listing ... B14speedfreak UNIX para Dummies Perguntas & Respostas 5 05-11-2006 09:06
Timestamp no diretório lista vijashok UNIX para Dummies Perguntas & Respostas 2 10-06-2005 11:03
Recursivo diretório listagem sem cotação arquivos psingh UNIX para Dummies Perguntas & Respostas 4 05-10-2002 11:52

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-10-2008
gugs gugs is offline
Usuário
  
 

Join Date: Jul 2008
Lugares: 44
Lista um diretório através de um script usando variáveis

No meu script eu preciso para a lista do diretório, onde o nome genérico dos arquivos vai mudar, no meu caso teste para definir a sua TEST_ *. mqsc. Eu escrevi um pequeno script como teste abaixo, mas isso apenas não pip a listagem de um arquivo.
Qualquer ideia porquê?

dir \u003d 'C: / cygwin / var / log / img / AUT /'
\u003d TEST01_ arquivo *. mqsc
dir $ ls | grep "$ file"> teste.txt


Quando eu executá-lo no debug eu recebo o seguinte:

$ Bash-x test.sh
+ Dir \u003d C: / cygwin / var / log / img / AUT /
+ File \u003d 'TEST01_ *. mqsc'
Ls + C: / cygwin / var / log / img / AUT /
+ Grep TEST01_080924.mqsc TEST01_080925.mqsc TEST01_080926.mqsc TEST01_080927.mq
sc TEST01_080928.mqsc TEST01_080929.mqsc TEST01_080930.mqsc TEST01_081001.mqsc T
EST01_081002.mqsc TEST01_081003.mqsc TEST01_081004.mqsc TEST01_081005.mqsc TEST0
1_081006.mqsc TEST01_081007.mqsc TEST01_081008.mqsc TEST01_081009.mqsc TEST01_08
1010.mqsc
Rc \u003d 1 +
+ Echo 'Retorno Código é: 1'
Retornar código é: 1
  #2 (permalink)  
Old 10-10-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderador
  
 

Join Date: Sep 2007
Local: Alemanha
Posts: 2.313
Acho que ele não pode encontrar qualquer coisa desde que você não pode escrever uma expressão regular para grep como usar metacaracteres no reservatório. Tente este:

Código:
file="TEST01_.*\.mqsc"

Seu código antigo significava _ * que corresponde a zero ou ocorrências de <n> _. E apenas um ponto, qualquer caractere único, e não um ponto. Então, o ponto tem que ser escapado.

Ah, e talvez use "ls -1" de ter 1 ficheiro por linha.
  #3 (permalink)  
Old 10-10-2008
gugs gugs is offline
Usuário
  
 

Join Date: Jul 2008
Lugares: 44
Eu continuo a obter o mesmo resultado

Eu executadas as seguintes:

file \u003d "TEST01_ * \. mqsc"
dir $ ls -1 | grep $ file> test.txt
rc \u003d $?
echo "Retornar código é: $ rc"

O resultado foi:

$ Bash-x test.sh
+ Delete_files \u003d 'TEST01_ *. mqsc'
+ File \u003d 'TEST01_ * \. Mqsc'
+ Ls -1 C: / cygwin / var / log / img / AUT /
+ Grep TEST01_080924.mqsc TEST01_080925.mqsc TEST01_080926.mqsc TEST01_080927.mq
sc TEST01_080928.mqsc TEST01_080929.mqsc TEST01_080930.mqsc TEST01_081001.mqsc T
EST01_081002.mqsc TEST01_081003.mqsc TEST01_081004.mqsc TEST01_081005.mqsc TEST0
1_081006.mqsc TEST01_081007.mqsc TEST01_081008.mqsc TEST01_081009.mqsc TEST01_08
1010.mqsc
Rc \u003d 1 +
+ Echo 'Retorno Código é: 1'
Retornar código é: 1
  #4 (permalink)  
Old 10-10-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderador
  
 

Join Date: Sep 2007
Local: Alemanha
Posts: 2.313
O que faz

Código:
ls -1 C:/cygwin/var/log/img/aut/ | grep TEST01_*\.mqsc

no prompt show?
  #5 (permalink)  
Old 10-10-2008
gugs gugs is offline
Usuário
  
 

Join Date: Jul 2008
Lugares: 44
Eu estava errada

ls -1 C: / cygwin / var / log / img / AUT / | grep TEST01_ * \. mqsc não produziu resultados.

De qualquer forma, em vez de file \u003d "TEST01_ *. mqsc", file \u003d "TEST01" deveria bastar como estou apenas interessada em arquivos que começam com "test", * é a data e. mqsc é consistente para todos os arquivos.


No entanto, eu estava fazendo um tolo erro no script. Tudo que eu tinha que fazer era:

file \u003d "TEST01"
echo "arquivo \u003d $ arquivo"
dir $ ls -1 | grep "$ file"> teste.txt

Obrigado por me ajudar
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 08:53.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0