The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Moeten zoeken naar een bestand op basis van lengte J_ang UNIX voor Dummies Questions & Answers 8 03-26-2007 09:21
Hoe te verplaatsen van bestanden in verschillende mappen op basis van de bestandsnaam italia5 UNIX voor Dummies Questions & Answers 7 08-23-2006 11:04
Hoe zou ik een find commando niet het pad van een bestand? LordJezo Programmeren en Shell Scripting 1 10-01-2004 07:01
vinden op basis van de bestandsnaam bestandsinhoud kollerj UNIX voor Dummies Questions & Answers 4 06-02-2001 02:31 PM

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 04-18-2007
Helmi Helmi is offline
Geregistreerde gebruiker
  
 

Join Date: Apr 2007
Posts: 15
Vinden, maken en verplaats bestand op basis van gebruikersnaam

Hi there,
Ik ben nieuw bij UNIX (net 3month gebruikt),
Ik vond mijn nieuwe doos bevatte een groot aantal bestanden en directories in / home / doos /
Ik heb geprobeerd om te zoeken script in tis forum en vinden velen van hen, maar ik weet niet
Hoe te combineren om een script, maar met behulp van pijpen.
mijn taken zijn:

1) voor het scannen van de gebruiker richt in / home / user / - I'm gebruikt ls-ld / home / $ user / , $ Gebruiker moet sleutel inch

2) Vervolgens samenwerkingsverband alle bestanden in gescande richt (in opdracht 1), in groep extensies zoals ". Txt", ". Sh", ". Dat"
Ik gebruikte de ls-l | awk 'BEGIN (FS \u003d"."} (print $ 2)'> index.txt

3) Gebaseerd op index.txt, ik ga om mappen te verwijzen naar deze extensies zoals.
/home / gebruiker / txtExtension
/ home / user / datExtension /

vervolgens alle bestanden naar de uitbreiding richt. I'm sorry, ik kan het niet vinden de weg naar het maken van dit script.

Ik probeerde mijn best te combineren alle hierboven eenvoudig script, maar No.3 is heel moeilijk voor mij.
is er een UNIX-Shell deskundige hebben ideeën, oplossingen, of zelfs bijvoorbeeld scripts om me
Groeten,
Helmi.
  #2 (permalink)  
Old 04-19-2007
ennstate ennstate is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2007
Locatie: Chennai
Posts: 222
Bestanden verplaatsen door Inhoudstafel

Ik testte de onderstaande script door gebruikers directories onder / tmp met verschillende soorten bestandsextensies

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
Controleer de bovenstaande script door draaien op een aantal nep-directories en laat het ons weten als dit doesnot helpen.

Bedankt
Nagarajan Ganesan
  #3 (permalink)  
Old 04-19-2007
Helmi Helmi is offline
Geregistreerde gebruiker
  
 

Join Date: Apr 2007
Posts: 15
Oh, man ... so cool ennstate
Bedankt makker!
het allemaal goed werkt! maar er is iets wat ik miste in de eerste plaats,
Als u bepaalde bestanden worden verwijderd zonder "merken / vraagt toestemming om te verplaatsen" van de gebruiker root, is het echt lastig worden voor andere gebruikers op te sporen terug en misschien zij verwacht dat de bestanden zijn verwijderd.

voor de tweede keer is er iemand kan coupe deze problemen, misschien, door een bepaalde tracker inloggen of zo?

Groeten,
Helmi.
  #4 (permalink)  
Old 04-19-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Berichten: 2.540
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"
een poging in awk. u kunt gebruiken om terug te gaan backup.sh deze bestanden naar originele map.
  #5 (permalink)  
Old 04-19-2007
Helmi Helmi is offline
Geregistreerde gebruiker
  
 

Join Date: Apr 2007
Posts: 15
Ik heb het script bewerkt op
Code:
user="TEST" ' BEGIN {  path = " /home/rosman/" user "/";command = "ls" path
Wanneer de test is een test richt waarin de 1ste gemaakt door ennstate

Fyi, ik ben niet inloggen als root, dus ik kan niet adduser. Dus, ik zojuist een dummy richt voor de proef. De fout staat was
Code:
[rosman]: /home/rosman/TEST => backup.sh
awk: 0602-533 Cannot find or open file file.
 The source line number is 1.
En ik neem aan dat het was in de eerste regel van de awk. Elke suggestie hoe dit oplossen?

Groeten,
Helmi
  #6 (permalink)  
Old 04-19-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Berichten: 2.540
niet zeker, maar je zou kunnen proberen
Code:
..
print traceback > "backup.sh" ( single > )
...
FYI, ik ben met behulp van GNU awk. Zorg er ook voor schrijf toegang wordt verleend aan TEST directory.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 09:23.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0