The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Dummies Spørsmål og svar
.
google unix.com



UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen!

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Trenger du finne en fil basert lengde J_ang UNIX for Dummies Spørsmål og svar 8 03-26-2007 09:21
hvordan du flytter filer i forskjellige mapper basert på filnavn italia5 UNIX for Dummies Spørsmål og svar 7 08-23-2006 11:04
Hvordan skulle jeg gjøre en finne kommandoen ikke viser banen til en fil? LordJezo Shell programmering og Skripting 1 10-01-2004 07:01
finne filnavn basert på filinnhold kollerj UNIX for Dummies Spørsmål og svar 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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 04-18-2007
Helmi Helmi is offline
Registrert bruker
  
 

Bli Dato: april 2007
Innlegg: 15
Finne, lage og flytte filen basert på brukernavn

Hei,
Jeg er ny på UNIX (akkurat 3month brukt),
Jeg fant min nye boksen inneholdt mange filer og kataloger i / home / boks /
Jeg har prøvd å søke skript i TIS forum og funnet mange av dem, men jeg vet ikke
hvordan kombinere dem for å lage et script, men ved hjelp av rør.
Mine oppgaver er:

1) for å skanne bruker dir in / home / user / - Jeg er brukt ls-ld / home / $ bruker / , $ Brukeren må taste inn

2) Deretter gruppere alle filer i skannet dir (i oppgave 1), i gruppen av utvidelser som ". Txt", ". Sh", ". Dat"
Jeg brukte ls-l | awk 'BEGIN (FS \u003d"."} (print $ 2)'> index.txt

3) Basert på index.txt, kommer jeg til å gjøre kataloger henvise til disse utvidelsene f.eks.
/home / user / txtExtension
/ home / user / datExtension /

deretter flytte alle filer til sin forlengelse dir. Jeg beklager, jeg kan ikke finne en måte å opprette dette skriptet.

Jeg prøvde hele mitt beste for å kombinere alle ovenfor enkelt skript men no.3 er ganske vanskelig for meg.
er det noen UNIX-Shell ekspert har ideer, løsninger eller eksempel skript til å guide meg
Hilsen,
Helmi.
  #2 (permalink)  
Old 04-19-2007
ennstate ennstate is offline
Registrert bruker
  
 

Bli Date: Mar 2007
Beliggenhet: Chennai
Innlegg: 222
Flytter filer av Index

Jeg testet under skriptet ved å opprette brukerkataloger under / tmp med ulike filtyper

Code:
#!/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
Kontroller ovenfor skriptet ved å kjøre den på noen falske kataloger og gi beskjed om dette doesnot hjelp.

Takk
Nagarajan Ganesan
  #3 (permalink)  
Old 04-19-2007
Helmi Helmi is offline
Registrert bruker
  
 

Bli Dato: april 2007
Innlegg: 15
Herregud ... så kult ennstate
Takk kompis!
alt fungerer bra! men det er noe jeg savnet i begynnelsen,
dersom visse filen blir fjernet uten "merke / ber om tillatelse til å flytte" brukeren eller root, er den virkelig plagsom for andre brukere å spore tilbake og kanskje de forventede filene har blitt slettet.

for andre gang, er det noen kan kupé dette problemer, kanskje, ved å gjøre en bestemt tracker log eller noe?

Hilsen,
Helmi.
  #4 (permalink)  
Old 04-19-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2006
Innlegg: 2540
Code:
#!/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"
et forsøk på awk. du kan bruke backup.sh å flytte tilbake de filene til opprinnelige katalogen.
  #5 (permalink)  
Old 04-19-2007
Helmi Helmi is offline
Registrert bruker
  
 

Bli Dato: april 2007
Innlegg: 15
Jeg har redigert manuset til
Code:
user="TEST" ' BEGIN {  path = " /home/rosman/" user "/";command = "ls" path
Hvor testen er testing dir som inneholdt 1. laget av ennstate

Til info, det gjør jeg ikke logge inn som root, derfor kan jeg ikke adduser. så jeg bare laget en tilleggskonto dir for testing. Feilen staten var
Code:
[rosman]: /home/rosman/TEST => backup.sh
awk: 0602-533 Cannot find or open file file.
 The source line number is 1.
Og jeg antar at det var i den første linjen i awk. Eventuelle forslag om hvordan du løser dette?

Hilsen,
Helmi
  #6 (permalink)  
Old 04-19-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2006
Innlegg: 2540
ikke sikker, men du kan prøve
Code:
..
print traceback > "backup.sh" ( single > )
...
Til info, jeg bruker GNU awk. også påse skrivetilgangen tildeles TEST katalogen.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 02:40.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0