"cat" à partir d'une ligne précise ... [Shell/Batch] - Divers - Programmation
Marsh Posté le 24-09-2009 à 16:21:19
avec un awk, je dirais qqchose comme ca:
Code :
|
sinon avec un grep et autre:
Code :
|
je sais pas ce que ca peut donner avec un énorme fichier niveau perf... je te laisse tester
Marsh Posté le 24-09-2009 à 16:40:12
awk 'BEGIN {a=0} {if (a) {print $0} else {a=($0=="def sep" )}}' toto.txt
awk: cmd. ligne:1: BEGIN {a=0} {if (a) {print
awk: cmd. ligne:1: ^ nouvelle ligne inattendue ou fin de la chaîne
je préférerai faire fonctionner celle ci que je comprends à peu près, comparé à l'autre
merci pour la piste, en attendant votre éventuelle réponse je lutte tout seul
Marsh Posté le 29-09-2009 à 14:44:57
tain j'avais pas re-regardé, mais je me doutais que c'étais faisable avec un sed:
Code :
|
c hyper plus propre! ^^
Marsh Posté le 29-09-2009 à 15:52:20
Vu ! encore merci à toi.
Je reprends ce script lorsque j'aurai fini celui avec lequel je me fight en ce moment
Marsh Posté le 24-09-2009 à 15:24:35
Bonsoir à tous !
Je cherche à extraire une partie seulement d'un fichier de log.
Il y a un mot clef qui est séparateur de la partie qui m'intéresse de celle qui ne m'intéresse pas.
Je voudrai faire un cat (ou awk ?) qui me prenne toutes les lignes d'un fichier à partir d'un mot clef séparateur (dans mon exemple "def sep" ).
1
2
3
#def sep
4
5
6
le résultat de la commande doit me donner :
4
5
6
(bien entendu le nombre de ligne de la partie qui ne m'intéresse pas et qui est à retirer est complètement variable), et le nombre de ligne bien plus conséquent.
Merci pour vos lumière.
Message édité par tabasko le 24-09-2009 à 15:25:22