The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



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
Precisa encontrar um arquivo baseado comprimento J_ang UNIX para Dummies Perguntas & Respostas 8 03-26-2007 09:21
como mover arquivos em pastas diferentes com base em nomeficheiro italia5 UNIX para Dummies Perguntas & Respostas 7 08-23-2006 11:04
Como é que eu faço encontrar um comando não mostrar o caminho de um arquivo? LordJezo Programação Shell Script e 1 10-01-2004 07:01
filename encontrar conteúdo baseado em arquivo kollerj UNIX para Dummies Perguntas & Respostas 4 06-02-2001 02:31

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 04-18-2007
Helmi Helmi is offline
Usuário
  
 

Join Date: Apr 2007
Lugares: 15
Localizar, mover o arquivo e faça com base em usuário

oi lá,
Eu sou novo para UNIX (utilizado apenas 3 meses),
Encontrei a minha nova caixa continha um monte de arquivos e diretórios em / home / caixa /
Eu tentei procurar tis script no fórum e encontrei muitos deles, mas, não sei
a forma de combiná-los para fazer um script, embora utilizando tubos.
minhas atribuições são:

1) para digitalizar usuário dir in / home / user / - I'm utilizados ls-ld / home / $ user / , $ User-chave deve ser pol

2) Em seguida, agrupando todos os arquivos digitalizados na dir (na tarefa 1), em grupo de extensões como ". Txt", ". Sh", ". Dat"
Usei o ls-l | awk 'BEGIN (FS \u003d"."} (print $ 2)'> index.txt

3) Com base index.txt, vou fazer referência a esses diretórios extensões, por exemplo.
/home / user / txtExtension
/ home / user / datExtension /

em seguida, mova todos os arquivos para a sua extensão dir. Sinto muito, eu não posso encontrar o caminho para criar este script.

Eu tentei todos os meus melhores esforços para reunir todas acima script simples, mas, no.3 é muito difícil para mim.
há qualquer UNIX-Shell perito ter ideias, soluções, ou mesmo exemplos de scripts para orientar-me
Atenciosamente,
Helmi.
  #2 (permalink)  
Old 04-19-2007
ennstate ennstate is offline
Usuário
  
 

Join Date: Mar 2007
Localização: Chennai
Lugares: 222
Transferindo arquivos pelo Índice

Eu testei o script abaixo, criando usuário diretórios em / tmp com diferentes tipos de extensões de arquivo


Código:
#!/bin/ksh
 
 /bin/rm index.dat
 
 set -A USER_HOME  /tmp/UserA /tmp/UserB /tmp/UserC /tmp/Root /tmp/GroupA /tmp/GroupB
 set -A USERS UserA UserB UserC Root GroupA GroupB
 
 for v in   ${USERS[*]} ; do
   find /tmp/$v -type f | awk -F. ' (NF == 2 ){ print $2 }' | sort -ud | tee -a index.dat
 done
 
 for type in $(<index.dat); do
   NewDir=/tmp/${type}-IndexedFileDir
   mkdir -p $NewDir
   find ${USER_HOME[*]} -type f -name "*.$type" -print | xargs -I{} -t mv {} ${NewDir}
 done

Confira o roteiro acima, executando-o em alguns diretórios falso e deixe-nos saber se este doesnot ajudar.

Obrigado
Nagarajan Ganesan
  #3 (permalink)  
Old 04-19-2007
Helmi Helmi is offline
Usuário
  
 

Join Date: Apr 2007
Lugares: 15
Ah, cara ... so cool ennstate
Muito obrigado amigo!
que tudo funciona bem! mas há algo que eu perdi na primeira,
se certas arquivo a ser removido sem "percebendo / pedir permissão para mover o" utilizador ou raiz, é realmente incômodos para outros usuários a faixa de volta, e talvez eles esperavam os arquivos foram apagados.

para o segundo tempo, está lá ninguém pode coupe este problema, talvez, por fazer um certo tracker diário ou algo assim?

Atenciosamente,
Helmi.
  #4 (permalink)  
Old 04-19-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2006
Posts: 2.558

Código:
#!/bin/sh
awk -v user="user1" ' BEGIN {  path = " /home/" user "/";command = "ls" path ;
              while ( (command | getline line)>0 ) {                          
                            if (line ~ /\....$/) {
                                          ext = substr(line,length(line)-2)
                                          Extension[ext]    
                                          files[line] = ext
                            }                            
              }
            }
        END {   makedircmd = "mkdir "
                for ( e in Extension) {
                     print "making " path e                     
                     dir = path e
                     makedircmd = makedircmd dir                                      
                     print makedircmd
                 }
                 #system(makedircmd) #uncomment to use
                 for (f in files) {
                            mvcmd = "mv" path f " " path files[f]
                            traceback = "mv" path files[f] "/" f path 
                            print traceback
                            print traceback >> "backup.sh" #backup
                            #system(mvcmd) #uncomment to use
                 }
        }

' "file"

uma tentativa no awk. backup.sh você pode usar para mover os arquivos de volta ao diretório original.
  #5 (permalink)  
Old 04-19-2007
Helmi Helmi is offline
Usuário
  
 

Join Date: Apr 2007
Lugares: 15
Que editei o script em
Código:
user="TEST" ' BEGIN {  path = " /home/rosman/" user "/";command = "ls" path

Sempre que é um teste TESTE dir que continham a 1 ª feita pelo ennstate

Atenciosamente, i don't login como root, portanto não posso adduser. Então, acaba de fazer um simulado para testar dir. O erro foi estado
Código:
[rosman]: /home/rosman/TEST => backup.sh
awk: 0602-533 Cannot find or open file file.
 The source line number is 1.

E eu assumo que ele estava na primeira linha do awk. Qualquer sugestão sobre como resolver isso?

Atenciosamente,
Helmi
  #6 (permalink)  
Old 04-19-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2006
Posts: 2.558
não tenho certeza, mas você pode tentar

Código:
..
print traceback > "backup.sh" ( single > )
...

FYI, eu estou usando GNU awk. também certificar-se de escrever o acesso é concedido para TESTE diretório.
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 03:31.


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