![]() |
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.
|
|
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 |
| Attendez augmenter la taille du tampon, s'il vous plaît aider | jaduks | De programmation et de script Shell | 1 | 10-12-2007 11:07 AM |
| comment augmenter la taille de l'écran de la console de tampon? | the_learner | UNIX pour les nuls Questions et réponses | 5 | 04-25-2007 05:31 PM |
| Comment augmenter la taille de la mémoire tampon dans Unix | ziabegg | UNIX pour les nuls Questions et réponses | 3 | 01-05-2007 03:17 PM |
| Comment augmenter la taille du buffer dans Unix | ziabegg | UNIX for Advanced & Expert Users | 0 | 12-23-2006 03:11 AM |
| La taille du cache buffer | gsr_kashyap | Red Hat | 0 | 09-07-2006 01:34 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Augmenter la taille du buffer à lire de longues lignes
Salut tous,
Je suis en train de lire la sortie d'une commande. Le format de sortie est comme suit: Code:
Thursday 13 Mar 2008 Information This is sample text Friday 14 Mar 2008 Warning This is one more sample text Le problème est parfois le 2e ligne est plus long et qui est lu que deux lignes dans l'environnement Unix. Mais je veux lire que sur une ligne elle-même. Peut-on augmenter la taille du tampon de ligne sous Unix? J'espère que la question est claire. Observe, Ssunda. |
|
||||
|
Votre problème n'est pas de taille de la mémoire tampon ". Si vous utilisez une commande qui lit une ligne à la fois, il va lire des lignes de même, mais si l'entrée est à plus d'une ligne, il ne fera que lire la première ligne.
Let's reformuler ce problème. Comment savez-vous que quand quelque chose plus d'une ligne? Parce que la ligne suivante n'est donc pas une date. Ainsi, vous pouvez créer un simple analyseur syntaxique pour ce format, qui reconnaît tout à la prochaine date d'entrée comme un record. C'est probablement mieux fait avec un langage de script tels que awk ou Perl ou Python, mais seulement pour les besoins de l'argumentation, voici une solution rapide et sale en script shell: Code:
#!/bin/sh
date=
input=
nl="
" # yes, that's opening quote, newline, closing quote
while read line; do
case $line in
*day\ [0-9][0-9]\ *\ [12][0-9][0-9][0-9]\ *)
# warning! y3k problem
# warning! fragile matching, would be better with regex
# warning! basically untested code anyway
case $date in '') ;;
*) echo "Result for '$date'":
echo "$input" ;;
esac
input=
date=$line
;;
*)
input="$input${input:+$nl}$line"
;;
esac
done
# whatever is left at end of file is a result too
echo "Result for '$date'":
echo "$input"
|
|
||||
|
HI époque,
Merci pour la réponse. Vous avez votre point de vue. Mais est-il de toute façon que nous pouvons augmenter la taille de la mémoire tampon? Dans SQL, nous utilisons ", fixé la ligne 200 '.. pour atteindre le même. Merci d'avance. |
|
||||
|
Votre question n'est pas bien définie. Taille de la mémoire tampon de quoi? Qu'est-ce que la commande que vous utilisez pour lire les résultats? Si elle a une limite sur combien de temps elle va lire les lignes, vous pouvez trouver une version qui n'a pas cette limite?
(Par exemple, le GNU coreutils outils sont souvent mieux à cet égard que des outils équivalents quelle que soit livré avec votre système d'exploitation commercial.) |
![]() |
| Bookmarks |
| Tags |
| perl, perl regex, regex |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|