The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX pour les nuls Questions et réponses
.
google unix.com



UNIX pour les nuls Questions et réponses Si vous ne savez pas où poster un UNIX ou Linux question, post it here. Tous les systèmes UNIX et Linux, débutants bienvenus!

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Split fichiers à l'aide de Csplit savitha UNIX pour les nuls Questions et réponses 7 12-01-2007 11:55 AM
Diviser un fichier en 2 Fichiers dummy_needhelp De programmation et de script Shell 7 11-04-2007 07:36 PM
nombre total de fichiers qui ont "aaa" dans les fichiers dont les noms de dossier _bbb * * sudheshnaiyer UNIX pour les nuls Questions et réponses 1 08-16-2007 03:34 PM
Split d'un fichier en 2 ou plus de fichiers bobo UNIX pour les nuls Questions et réponses 4 01-16-2006 05:15 PM
awk commande divisé en 2 fichiers m_subra_mani De programmation et de script Shell 3 12-13-2005 05:13 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 05-13-2008
Migrainegirl Migrainegirl is offline
Registered User
  
 

Join Date: Mai 2008
Messages: 3
diviser les fichiers en nombre de fichiers de sortie

Salut tout le monde,

J'ai quelques gros fichiers texte que j'ai besoin de se scinder en un nombre spécifique de fichiers de taille égale. Pour autant que je sache (et je ne sais pas vraiment que beaucoup de ) La division de commandement que vous permet de spécifier le nombre de lignes ou d'octets. Les fichiers sont tous de taille différente, de sorte que le nombre de lignes diffèrent également.
J'utilise le code suivant pour voir combien de lignes de chaque fichier de sortie doit être (1 / 50 de l'original du document):

y \u003d `wc | awk '(print $ x/50)' | awk-F. '(if ($ 2> \u003d 1) (print $ 1 +1) else (print $ 1))' `
echo $ y

Le problème est que je ne peux pas utiliser la variable $ y comme une contribution à la scission de commande comme ceci:

$ x split-d-l $ y split / $ x

Il ne fonctionne tout simplement pas. Est-ce que quelqu'un connais un moyen de passer la valeur de la variable $ y dans la division de commandement? Ou est-ce que quelqu'un a une meilleure façon de résoudre le problème en entier?

Merci d'avance!
  #2 (permalink)  
Old 05-13-2008
ère era is offline Forum Advisor  
Inutile de Herder Cats (en congé sabbatique)
  
 

Join Date: Mar 2008
Location: / il / est / que / bin / sh
Messages: 3652
Il n'est vraiment pas pourquoi vous ne pouvez pas utiliser la variable. La façon dont elle est maintenant, je ne crois pas qu'il contient une valeur utile (qu'est-ce que le echo d'impression pour vous?), mais la fixation des scripts si cela fonctionne, comme semble le meilleur plan à moins que vous ne pouvez expliquer pourquoi il "ne fonctionne tout simplement pas".

En supposant que $ x est le nom du fichier que vous êtes sur le point de scission, essayez quelque chose comme ceci à la place.


Code:
y=`wc -l < $x | awk '{ print 1+int($1/50) }'`

J'ai mis à l'ajout de l'un sur la théorie que cela devrait faire quelque chose de vaguement utile, même avec des fichiers qui sont trop petits, avec une légère tendance à rendre le dernier fichier de la série plus petite que les autres. (Peut-être de diviser par 49 au lieu de compenser?)
  #3 (permalink)  
Old 05-13-2008
Migrainegirl Migrainegirl is offline
Registered User
  
 

Join Date: Mai 2008
Messages: 3
L'écho me donne un certain nombre, dont il est censé faire.
Le plus utilisé est d'arrondir les chiffres: 232 devient 231.2, 231.0, mais reste 231.

J'ai essayé de nouveau avec la variable $ x explicitement définies et il a travaillé. Ainsi, le problème semble être $ x. (désolé, je n'ai pas beaucoup dormi la nuit ) Cela change ma question:
Si je veux utiliser mon script avec le texte original de fichier en entrée (comme ceci: sh test.sh <file.txt), comment puis-je faire appel au fichier d'origine à l'intérieur du script?
Je pense évidemment que dans le $ x '$ x split-d-l $ y split / $ x "seraient remplacés par" file.txt ", mais il ne l'est pas.

Dernière édition par Migrainegirl; au 05.13.2008 08:53 AM..
  #4 (permalink)  
Old 05-13-2008
ère era is offline Forum Advisor  
Inutile de Herder Cats (en congé sabbatique)
  
 

Join Date: Mar 2008
Location: / il / est / que / bin / sh
Messages: 3652
Les paramètres sont en $ 1 $ 2 $ 3 etc, mais si vous invoquez le script de redirection, il n'y a pas de paramètre de position, et aucun nom de fichier, il suffit de l'entrée standard.


Code:
vnix$ ./myscript file.txt oops   #  inside myscript, $1 is "file.txt" and $2 is "oops"
vnix$ ./myscript   # inside myscript, no file name is known; input is from standard input (terminal)
vnix$ ./myscript <file.txt   # again, inside myscript, no file name is known; input is redirected to come from file.txt


Dernière édition par époque au 05.13.2008 09:02 AM.. Motif: Ajouter éclairant (?) Par exemple
  #5 (permalink)  
Old 05-13-2008
Migrainegirl Migrainegirl is offline
Registered User
  
 

Join Date: Mai 2008
Messages: 3
Merci!
Closed Thread

Bookmarks

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 03:09 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