![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| 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 |
| Parser une chaîne de caractères dans un shell script | asutoshch | De programmation et de script Shell | 19 | 05-26-2008 10:18 PM |
| shell script sed avec l'analyse | jjamd64 | UNIX pour les nuls Questions et réponses | 5 | 12-11-2007 04:51 PM |
| Analyse une ligne de script Shell | unishiva | De programmation et de script Shell | 3 | 11-01-2007 04:30 PM |
| Aide à l'analyse d'un fichier CSV avec Shell script | mihirk | De programmation et de script Shell | 10 | 06-24-2007 11:58 AM |
| Analyse d'un fichier en Shell Script | sendhilmani123 | De programmation et de script Shell | 4 | 11-30-2006 02:29 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Shell script pour l'analyse de 300 Mo de fichier journal ..
suis relativement nouveau au Shell scripting.
J'ai écrit un script pour l'analyse un grand fichier. La logique est la suivante: Outre beaucoup d'autres choses inutiles, il ya de nombreuses occurrences de <abc> et correspondant </ abc> tags. (Tous sont bien fermés) Mon obligation est de trouver un tag (par exemple <data> 1234 </ data>) joint n'importe où entre <abc> </ abc> tags. S'il est trouvé, je suis obligé de stocker au-dessous de la 4ème ligne de <abc> tag dans un fichier temporaire. Un fichier de log typique ressemble à: ************************ <pqr> ...... certaines données que d'autres données ......... </ pqr> certaines données de texte ........... <abc> blah blah ..... <id> 12345 </ id> blah ... ...... <data> 1234 </ data> </ abc> ........ ..... ..... <abc> blah blah ..... <id> 12345 </ id> blah ... ... </ abc> .......... <rst> ... ... </ premier> certaines données de texte ... **************************** Sortie du script devrait être <id> 12345 </ id> stockées dans certains fichiers temp. Le script que j'utilise est la suivante: ******************** rm-f temp.log filename \u003d $ 1 OK \u003d 0 tout lire ligne1 faire if [ "$ ligne1" \u003d "<abc>"], puis OK \u003d 1 fi if [ "$ OK"-eq 1], puis echo $ ligne1>> temp_file fi if [ "$ ligne1" \u003d "</ abc>"], puis OK \u003d 0 fi if [ "$ OK"-eq 0], puis if [-f temp_file], puis tout lire line2 faire if [ "$ line2" \u003d "<data> 1234 </ data>"], puis cat temp_file | awk '(if (NR \u003d\u003d 4) (print ($ 0)))'>> temp.log fi done <temp_file rm temp_file fi fi done <$ filename.log ******************************* Le <abc> </ abc> tags sont dans la dernière partie en général (pas toujours), quelque part autour de 500.000, après les lignes ... et, en général, un fichier d'environ 700.000 lignes. Le script s'exécute et continue de fonctionner, et je les trouve 2 enregistrements qui sont dans les premières lignes stockées dans le fichier temporaire. Mais après quelques 6-7 minutes, le script se termine abruptement, en disant: scriptname.sh test: argument expected. Est ce que quelqu'un peut m'aider sur ce sujet? |
|
||||
|
Le script ne fonctionne pas ..
Citation:
Après la lecture de votre réponse, lire quelques articles sur awk. Quelque part, le script ne fonctionne toujours pas, et se terminant le dire .. ********************** awk: record `/ réponse> Vendredi 00h27 :...' trop long nombre record 22 ********************** J'ai de grands espoirs sur vous maintenant Merci |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|