détecter plusieurs nouvelles lignes. [shell][grep] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 22-10-2003 à 13:08:07
Je n ai pas trop compris ce que tu voulais faire ...
Tu veux comparer un fichier a un autre pour voir les lignes nouvelles ?
A+
Marsh Posté le 22-10-2003 à 13:17:06
non, non, je veux juste détecter les nouvelles lignes vides (new lines)
comme dans l'exemple suivant :
Code :
|
j'aimerais pouvoir détecter les nouvelles lignes vide entre "texte" et "re texte" par exemple
c'est pour pouvoir faire un peu de nettoyage.
A moins qu'il y est une méthode pour supprimer les lignes vides superflues dans un fichier?
Marsh Posté le 22-10-2003 à 13:20:57
Aragorn_1er a écrit : Oui, cat toto | tr -s "\n" |
oui, mais une ligne vide peut contenir des espaces
Marsh Posté le 22-10-2003 à 13:26:27
Il cherche la petite bete lui !
Pour moi une ligne vide c'est ... une ligne vide !
A+
Marsh Posté le 22-10-2003 à 13:29:21
Aragorn_1er a écrit : Il cherche la petite bete lui ! |
vécu inside
Marsh Posté le 22-10-2003 à 13:33:32
en l'occurence la mienne n'en contients pas
par contre votre méthode vire toute ligne vide. Moi je voudrais laisser une ligne vide et virer les éventuelles lignes vides la suivant...
Marsh Posté le 22-10-2003 à 13:38:56
Argg...
t'es sûr qu'avec grep c'est pô possible?
j'ai déjà utilisé grep pour supprimer certianes lignes spécifiques d'un fichier :
[cpp]grep --invert-match "$1" monfichier > monfichier[cpp]
en remplaçant "$1" par "plus de 2 lignes vides, mais efface pas la première", ça peut pas le faire?
Marsh Posté le 22-10-2003 à 13:42:56
cat toto | awk '/^[[:space:]]*$/{if(!blank_line) {blank_line=1; print $0;} next;}; //{print $0; blank_line=0;}' |
version lisible :
cat toto | awk ' |
Marsh Posté le 22-10-2003 à 13:45:13
arg!!!
mais comment on peut penser à des trucs comme ça!!!
Marsh Posté le 22-10-2003 à 13:46:15
duch a écrit : arg!!! |
c'est la traduction awk de ton pb, c'est tout
c'est toi qui as de ces questions
Marsh Posté le 22-10-2003 à 14:34:57
bah en fait ça fait rien, le fichier reste inchangé, bizarre non?
Marsh Posté le 22-10-2003 à 14:53:13
pourrais-tu copier/coller la commande lancée, sinon je peux pas te dire grand chose ...
Marsh Posté le 22-10-2003 à 14:59:22
dans mon script je fais :
Code :
|
et même en faisant simplement
Code :
|
la sortie contient toujours les lignes vides.
Marsh Posté le 22-10-2003 à 15:10:17
et il a quelle gueule ton fichier ?
essaie la commande en dehors de ton script ...
essaie avec un fichier créé pour l'occasion
en tout cas, chez moi ça marche !!
edit : t'es bien sous Linux ?
Marsh Posté le 22-10-2003 à 15:17:32
oui je suis bien sous linux
le fichier c'est mon fichier virtual (postfix), y'a des tab dedans
si je lance la commande en dehors du script ça fait pareil, les lignes vides y sont toujours.
Oui je suis bien sous linux (debian woody)
mais bon pour éviter de m(t)'emmerder, je suis en train d'essayer de plugger postfix à mysql, ça sera plus simple pour gérer les mails. Ca marche pô encore mais bon, ça vient
Marsh Posté le 22-10-2003 à 15:23:34
Sinon, essaye de remplacer [:space:] par [:blank:]
J'avais pas pensé aux tab
Marsh Posté le 22-10-2003 à 15:28:29
ok j'vais essayer, ça en attendant j'ai presque fini de plugger postfix à mysql.
J'ai encore un p'tit problème, dis tu l'aurais pas déjà fais par hasard?
Marsh Posté le 22-10-2003 à 15:38:11
en fait j'ai le même problème que ce type là, qui a manfistement une solution, mais je ne la comprends pas.
Tu peux m'aider à traduire?
http://lists.debian.org/debian-fre [...] 01007.html
c'est quoi le répertoire de chroot?
oui je sais ça dérive...
Marsh Posté le 22-10-2003 à 15:40:58
change le titre de ton topic
moi je peux plus grand chose
Marsh Posté le 22-10-2003 à 15:41:49
arf, je vais faire un autre topic sur le sujet...
merci encore
Marsh Posté le 22-10-2003 à 13:00:25
je suis une buse, je sais, mais c'est quoi la regex pour détecter plusieurs nouvelles lignes (plus de 2) avec grep?
j'ai essayé ça :
car il me semble que ': ' correspond à tous caractère de contrôle
mais ça ne marche pô vraiment de plus le + c'est à partir de 1 occurence et moi j'en veux 2