Bonjour,

j'ai ce texte à parser :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
d0: Mirror     Submirror 0: d10       State: Okay              Submirror 1: d20       State: Okay              Pass: 1     Read option: roundrobin (default)     Write option: parallel (default)     Size: 4194828 blocks
d10: Submirror of d0     State: Okay              Size: 4194828 blocks     Stripe 0: Device              Start Block  Dbase State        Hot Spare c0t0d0s0                   0     No    Okay
d20: Submirror of d0     State: Okay              Size: 4194828 blocks     Stripe 0: Device              Start Block  Dbase State        Hot Spare c0t1d0s0                   0     No    Okay
etc...

Je passe ça comme commande :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
nawk 'BEGIN {RS=""}
{gsub(/\n/," ",$0)
gsub(/\t/,"", $0)
print $1"|"$2"|"$3"|"$4"|"$5}' meta.txt
 
 
d0:|Mirror|Submirror|0:|d10
d10:|Submirror|of|d0|State:
d20:|Submirror|of|d0|State:
d1:|Mirror|Submirror|0:|d11
d11:|Submirror|of|d1|State:
d21:|Submirror|of|d1|State:
d4:|Mirror|Submirror|0:|d14
d14:|Submirror|of|d4|State:
d24:|Submirror|of|d4|State:
d5:|Mirror|Submirror|0:|d15
d15:|Submirror|of|d5|State:
d25:|Submirror|of|d5|State:
d6:|Mirror|Submirror|0:|d16
d16:|Submirror|of|d6|State:
d26:|Submirror|of|d6|State:
d7:|Mirror|Submirror|0:|d17
d17:|Submirror|of|d7|State:
d27:|Submirror|of|d7|State:
Cela me donne bien ce que je veux, mais le soucis c'est qu'il ya beaucoup de champs ($1,$2,$3,$4,$5,$6 etc..), et que je ne veux pas alourdir la commande en les mettant tous, c'est pourquoi j'aimerais savoir si il existait un moyen (sans doute une boucle) pour afficher tout les champs sans devoir les rentrer dans la commande ?

Merci d'avance.