The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Flyt alle filer i et mappetræ til et signal bibliotek? briandanielz UNIX for dummyer Spørgsmål & svar 2 06-15-2008 06:20 PM
Overvejer filer i en mappe?? skyineyes Shell Programmering og Scripting 3 07-16-2007 04:16 AM
MV-filer fra en mappestruktur (multiple-niveau) til andre mappestruktur srmadab UNIX for Advanced & Ekspertsøgning Brugere 4 09-13-2006 05:01 PM
kopiere filer fra en mappe til en anden mappe zip_zip UNIX for dummyer Spørgsmål & svar 5 09-14-2003 07:16 PM
flytter filer fra en UNIX-biblioteket til en Windows-mappe gleads UNIX for dummyer Spørgsmål & svar 2 08-29-2002 09:42 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-15-2008
Bhanu72 Bhanu72 is offline
Registreret Bruger
  
 

Join Date: Jul 2008
Stillinger: 4
Smile filer fra biblioteket til en anden.

Jeg har 10000 filer i en mappe. Navnet er noget i retning af:

1.dat
2.dat
3.dat
4.dat
.....
.....
.....
1000.dat.
----
-----

Filer ikke er sorteret. Jeg ønsker at flytte første 500 largerst filer fra denne mappe til en anden mappe. Næste 500 største filer til en anden mappe.

hvad der ville være den enkle Korn shell script til dette problem?

tak

Sidst redigeret af Bhanu72; 07-15-2008 på 08:31 PM..
  #2 (permalink)  
Old 07-15-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Location: Sydney, Australien
Stillinger: 1009
Her er en måde. Tag ud prints, når du har afsluttet testen. Den hale 2 er at springe over den samlede blokke vises ved ls-l. Dette vil ikke fungere, hvis nogen af de arkivnavne indeholde mellemrum.


Code:
i=0
split=1000
ls -l | tail +2 | sort -rn -k 5,5 | awk '{print $NF}' | while read f
do
        (( i%${split}==0 )) && print mkdir subdir$(( i/${split} ))
        print mv $f subdir$(( i/${split} ))
        (( i=i+1 ))
done

  #3 (permalink)  
Old 07-15-2008
lramirev lramirev is offline
Registreret Bruger
  
 

Join Date: Jul 2008
Stillinger: 8
Smile

Først skal du bruge din filliste sorteret efter filstørrelse
#! / bin / ksh
SearchPath \u003d / whereever0
LowerSizeFilePath \u003d / whereever1
UpperSizeFilePath \u003d / whereever2
#
cd $ SearchPath
ls-e | egrep-v "/$|->" | cut-C31-41, 63 - | sortere-n-k 1n, 10 | cut-C12-> / tmp / Filelist ~
# ^ ^ ^ ^ ^
# | | | | + Få fil
# | | | + - Sorter filliste efter filstørrelse
# | | + - Få kun filstørrelse og filnavnet
# | + - Stå af listen blød links og mapper poster
# + - Listen udvides $ chronic wasting disease
#
# Du kan sende en liste til en temp fil med "> / tmp / Filelist ~"
#
# Du skal vide, hvor mange fil med
FileCount \u003d `cat / tmp / Filelist ~ | wc-l`
HeadSize \u003d `expr $ FileCount / 2«
TailSize \u003d `expr $ FileCount - $ HeadSize«
#
MV «hovedet - $ HeadSize / tmp / Filelist ~` $ LowerSizeFilePath
MV «hale - $ TailSize / tmp / Filelist ~` $ UpperSizeFilePath
rm / tmp / Filelist ~
  #4 (permalink)  
Old 07-15-2008
Bhanu72 Bhanu72 is offline
Registreret Bruger
  
 

Join Date: Jul 2008
Stillinger: 4
Hej

tak for den løsning. Men af en eller anden grund er det ikke virker eller kan jeg ikke forstå.

Kan De venligst give flere detaljer:

Hvorfor bruger du egrep? Hvad er det virkelig det?
ls det en tastefejl at du bruger ls-E i stedet for ls-l?

tak for din hjælp.
  #5 (permalink)  
Old 07-16-2008
lramirev lramirev is offline
Registreret Bruger
  
 

Join Date: Jul 2008
Stillinger: 8
Bhanu72:
Jeg når til min server og tryed scriptet og det gjorde arbejdet. Men når de kørte ind i en anden server "ls-e" er ikke understøttet. Jeg ser i diffrence på SunOS og bemærker, at serveren ikke understøtter "-e" mulighed for "ls" er har lavere patche plan for SunOS 5.10. Så jeg kan kun forsikre, at dette script kan arbejde på Sun Solaris 5.10 Generic_125100-10.

Jeg har ændret scriptet til at bruge "ls-l", men har brug for at ændre "cut"-indstillingen.


Code:
ls -l | egrep -v "/$|->" | cut -c31-41,55- | sort -n -k 1n,10 | cut 
-c13- > /tmp/filelist~

Når jeg ikke forstår en del af en kode jeg køre hver del af røret kommando tilføjer en del på et tidspunkt, så se, at det gør. Med denne foreslåede ændring af script det skal køre. Jeg har kørt det på en Solaris 5.10 med lavere plaster plan.

My best regards.
Luis Ramirez
  #6 (permalink)  
Old 07-16-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Location: Sydney, Australien
Stillinger: 1009
Har du prøvet at min løsning? Ændre split \u003d 1000 til split \u003d 500 af den måde, jeg har glemt, at du oprindeligt ønskede at flytte 500 filer, ikke 1000.
  #7 (permalink)  
Old 07-17-2008
Bhanu72 Bhanu72 is offline
Registreret Bruger
  
 

Join Date: Jul 2008
Stillinger: 4
Hej,

Jeg havde forsøgt det med lille fil nummer. split \u003d 5. Det virkede fint. I din kode, du har oprettet mappen i script. Men i mit tilfælde den mappe allerede eksistere. Så jeg er nødt til at foretage simple ændringer.

Tak for din hjælp. Jeg sætter pris på det.

Bhanu72
Closed Thread

Bogmærker

Tags
fil flytte, Solaris

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 07:08 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0