Je pense qu'awk est plus intéressant dans ce cas, après tout sa spécialité c'est le traitement ligne par ligne.
J'obtiens le même résultat avec la commande suivante :
echo '
Unit UnitType Status %Cmpl Stripe Size(GB) Cache AVerify IgnECC
------------------------------------------------------------------------------
u0 RAID-1 OK - - 698.637 ON - -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 698.63 GB 1465149168 GTF200P8GZB0XF
p1 ERROR u0 698.63 GB 1465149168 GTF200P8GZB5LF
' | awk '{if(!match(0,ドル'/OK/')){print 0ドル}}'
Si tu es sur que les test se feront toujours sur les lignes commençant par u ou p alors tu peux mettre :
awk '/^u|^p/{if(!match(0,ドル'/OK/')){print 0ドル}}'
Il me semble que c'est plus performant, si tu as un grand nombre de lignes bien sur.
"Aucun de nous ne sait ce que nous savons tous, ensemble", attribué à Laozi.
# awk
Posté par Erwan Richard . En réponse au message sed, c'est dien. Évalué à 6.
J'obtiens le même résultat avec la commande suivante :
echo '
Unit UnitType Status %Cmpl Stripe Size(GB) Cache AVerify IgnECC
------------------------------------------------------------------------------
u0 RAID-1 OK - - 698.637 ON - -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 698.63 GB 1465149168 GTF200P8GZB0XF
p1 ERROR u0 698.63 GB 1465149168 GTF200P8GZB5LF
' | awk '{if(!match(0,ドル'/OK/')){print 0ドル}}'
Si tu es sur que les test se feront toujours sur les lignes commençant par u ou p alors tu peux mettre :
awk '/^u|^p/{if(!match(0,ドル'/OK/')){print 0ドル}}'
Il me semble que c'est plus performant, si tu as un grand nombre de lignes bien sur.
"Aucun de nous ne sait ce que nous savons tous, ensemble", attribué à Laozi.