30

le dernier script semble foirer quelques fois, selon le contenu des lignes qui semble être interprété au moment du grep.


unexpected operator/operand

31

Probablement parceque le echo et le grep ne sont pas protégés... Tu peux essayer ça, si le problème était bien celui auquel je pense ça devrait mieux marcher :
#! /bin/sh buffer='' while read line; do if [ "`echo \"$line\" | grep '^ZZZ'`" ]; then if [ "$buffer" ]; then echo "$buffer" fi buffer="$line" else buffer="$buffer$line" fi done < test echo "$buffer"
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

32

I'll try, but demain happy

33

(on m'a bien dit que la philosophie d'UNIX, c'était d'avoir un ensemble d'outils "simples" qu'on combine entre eux pour avoir le résultat qu'on veut, mais ça m'a toujours évoqué ça hehe :
rube-golbergesque.gif)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

34

trilove

35

Pourquoi pas supprimer tous les retours à la ligne et ensuite les remettre devant zzz.

36

Il a peut-être des ZZZ en pleine ligne ?

37

ce n'est effectivement pas impossible.

38

ça marche farpaitement avec ta dernière version @iwannabeamaki.

Mais je vais quand même essayer de faire marcher la version SED, parce que sur mon fichier de prod de 12Mo/50000 lignes, le petit programme met 26 minutes grin

39

Hmmm... 12 Mo ? Je veux bien te faire un programme ARM en asm sur une nspire, on y transporte ton fichier, ça ira toujours plus vite que ton script shell (désolé, je connais pas l'asm x86 sad) tripo

40

un sed sur un fichier de cette taille met maxi 30s, donc ça va aller wink

41

Wouaw c'est rapide pour traiter 12 Mo !
Et je plaisantais, ça serait une belle merde de porter ton fichier toussa, sans parler du risque d'erreur ^^

42

Zerosquare (./33) :
(on m'a bien dit que la philosophie d'UNIX, c'était d'avoir un ensemble d'outils "simples" qu'on combine entre eux pour avoir le résultat qu'on veut, mais ça m'a toujours évoqué ça hehe :
rube-golbergesque.gif)


c'est tout à fait comme ça que je le comprend.
Mais quand tu connais bien tout ça, tu peux gagner un paquet de temps (suivant ton job ou tes besoins bien sûr)