![]() |
|
|
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 |
| 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 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
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. |
|
||||
|
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 |
|
||||
|
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. |
|
||||
|
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. |
|
||||
|
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 |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|