The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Déplacez tous les fichiers dans une arborescence de répertoires à un signal de répertoire? briandanielz UNIX pour les nuls Questions et réponses 2 06-15-2008 05:20 PM
Vu les fichiers dans un répertoire? skyineyes De programmation et de script Shell 3 07-16-2007 03:16 AM
MV des fichiers d'un répertoire de la structure (plusieurs classes) à d'autres la structure de répertoire srmadab UNIX for Advanced & Expert Users 4 09-13-2006 04:01 PM
copier des fichiers d'un répertoire vers un autre répertoire zip_zip UNIX pour les nuls Questions et réponses 5 09-14-2003 06:16 PM
déplacer des fichiers d'un répertoire Unix à un répertoire de Windows gleads UNIX pour les nuls Questions et réponses 2 08-29-2002 08: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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 07-15-2008
Bhanu72 Bhanu72 is offline
Registered User
  
 

Date d'inscription: juillet 2008
Messages: 4
Smile les fichiers de répertoire à l'autre.

J'ai 10000 fichiers dans un répertoire. Le nom est quelque chose comme:

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

Les fichiers ne sont pas triées. Je veux aller de 500 premiers largerst les fichiers de ce répertoire dans un autre répertoire. Suivant 500 plus grandes des fichiers vers un autre répertoire.

ce qui serait la simple korn shell script pour ce problème?

merci

Dernière édition par Bhanu72; au 07.15.2008 07:31 PM..
  #2 (permalink)  
Old 07-15-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: Mai 2008
Lieu: Sydney, Australie
Messages: 1009
Voici un titre. Retirez le prints lorsque vous avez terminé les essais. Le 2 queue est de sauter le total affiché par blocs ls-l. Cela ne fonctionnera pas si l'un des noms de fichiers contenant des espaces.

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
Registered User
  
 

Date d'inscription: juillet 2008
Messages: 8
Smile

Tout d'abord, vous devrez déposer votre liste triée par taille de fichier
#! / bin / ksh
Searchpath \u003d / whereever0
LowerSizeFilePath \u003d / whereever1
UpperSizeFilePath \u003d / whereever2
#
cd $ searchpath
ls-e | egrep-v "/$|->" | cut-C31-41, 63 - | sort-n-k 1n, 10 | cut-c12-> / tmp / filelist ~
# ^ ^ ^ ^ ^
# | | | | + Obtenir le fichier
# | | | + - Tri des fichiers par taille de fichier
# | | + - Get seulement la taille du fichier et le nom du fichier
# | + - Descendez la liste des liens et des répertoires soft entrées
# + - $ CWD liste élargie
#
# Vous pouvez envoyer la liste à un fichier temporaire avec "> / tmp / filelist ~"
#
# Il est nécessaire de connaître le nombre de fichier avec
FileCount \u003d `cat / tmp / filelist ~ | wc-l`
HeadSize \u003d `expr $ FileCount / 2»
TailSize \u003d `expr $ FileCount - $ HeadSize»
#
mv `head - $ HeadSize / tmp / filelist ~` $ LowerSizeFilePath
mv `tail - $ TailSize / tmp / filelist ~` $ UpperSizeFilePath
rm / tmp / filelist ~
  #4 (permalink)  
Old 07-15-2008
Bhanu72 Bhanu72 is offline
Registered User
  
 

Date d'inscription: juillet 2008
Messages: 4
Salut

merci pour la solution. Mais pour une raison quelconque, il ne s'agit pas de travail ou de mai, je ne suis pas la compréhension.

Pouvez-vous s'il vous plaît donner plus de détails:

Pourquoi utilisez-vous egrep? Quel est-il vraiment faire?
C 'est une faute de frappe que vous utilisez ls-e au lieu de ls-l?

merci pour votre aide.
  #5 (permalink)  
Old 07-16-2008
lramirev lramirev is offline
Registered User
  
 

Date d'inscription: juillet 2008
Messages: 8
Bhanu72:
J'ai quand à mon serveur et tryed le script, et il n'a fonctionné. Mais lorsque s'est heurtée à un autre serveur "ls-e" n'est pas supporté. Je regarde différence sur SunOS et notez que le serveur ne supporte pas le "-e" option pour "ls" est inférieur a patche pour SunOS 5.10. Donc je ne peux garantir que ce script mai travail sur Sun Solaris 5.10 Generic_125100-10.

J'ai changé le script à utiliser "ls-l", mais besoin de changer le "cut" réglage.

Code:
ls -l | egrep -v "/$|->" | cut -c31-41,55- | sort -n -k 1n,10 | cut 
-c13- > /tmp/filelist~
Quand je ne comprends pas une partie d'un code-je exécuter chaque partie de la conduite de commande en ajoutant une partie à un moment pour voir ce qu'il fait. Avec ce changement proposé au script qu'il doit exécuter. J'ai couru sur une solaris patch 5.10 à faible niveau.

Mes meilleures salutations.
Luis Ramirez
  #6 (permalink)  
Old 07-16-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: Mai 2008
Lieu: Sydney, Australie
Messages: 1009
Avez-vous essayé ma solution? Changer split \u003d 1000 à split \u003d 500 par le chemin, j'ai oublié que vous avez voulu aller de 500 fichiers, et non pas 1000.
  #7 (permalink)  
Old 07-16-2008
Bhanu72 Bhanu72 is offline
Registered User
  
 

Date d'inscription: juillet 2008
Messages: 4
Salut,

J'ai essayé avec plusieurs petits fichiers. split \u003d 5. Il a bien fonctionné. Dans votre code, vous avez créé le répertoire dans le script. Mais dans mon cas, le répertoire existe déjà. Je dois donc faire simple modification.

Merci pour votre aide. I appreciate it.

Bhanu72
Closed Thread

Bookmarks

Tags
déplacer des fichiers, solaris

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 11:12 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0