Sed ET/OU vi
Dominique
-
Dominique -
Dominique -
Bonjour,
Si possible avec sed ET/OU vi comment supprimer les lignes d'un fichier connaissant les patern :
1) - un # en début de ligne
2) - "is not set" dans la ligne
Ex :
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
MERCI d'avance !
Si possible avec sed ET/OU vi comment supprimer les lignes d'un fichier connaissant les patern :
1) - un # en début de ligne
2) - "is not set" dans la ligne
Ex :
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
MERCI d'avance !
A voir également:
- Sed ET/OU vi
- Street vi - Télécharger - Transports & Cartes
- Vi rechercher un mot - Forum Linux / Unix
- Sed supprimer ligne - Astuces et Solutions
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? ✓ - Forum Linux / Unix
- Je suis une chose que les garçons utilisent 2 fois par jour et les filles une fois dans leur vie - Forum Loisirs / Divertissements
4 réponses
Salut,
J'ai un peu modifié le fichier en entrée pour les cas où la ligne commencerait par un "#" mais ne contiendrait pas "is not set"...
;-))
J'ai un peu modifié le fichier en entrée pour les cas où la ligne commencerait par un "#" mais ne contiendrait pas "is not set"...
jp@MDK:~/tmpfs ssh$ cat fichier
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_ATA_NONSTANDARD
CONFIG_ATA_ACPI=y
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV
# CONFIG_SATA_NV is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE
# CONFIG_SATA_SX4 is not set
jp@MDK:~/tmpfs ssh$ sed '/^#/{/is not set/d}' fichier
# CONFIG_ATA_NONSTANDARD
CONFIG_ATA_ACPI=y
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV
# CONFIG_SATA_PROMISE
jp@MDK:~/tmpfs ssh$Pour que les modifications soient appliquées au fichier source, rajoute l'otpion "sed -i.bak '...'" si ta version de sed le permet, sinon redirige la sortie vers un autre fichier.
;-))
Tout simplement SUPERBE !
MERCI jipicy,
Visiblement tu t'éclates avec ces outils sed, ed, awk...
Si avoir une réponse de ta part est fort agréable, ce n'est pas LA solution...
Ce serait bien que mon neurone trouve çà tout seul...
As-tu qq liens, de la litérature... concernant ces outils remarquables. J'ai bien "Maîtrise des Expressions régulières" chez O'Reilly, mais il faut se cramponner et quand j'ai un besoin immédiat... jipicy c'est plus rapide !
Souvent ça manque d'exemple, surtout si on en fait pas tous les jours, moi j'arrive mieux à partir d'exemples quitte à faire qq essais... et c'est rigolo car le résultat est parfois surprenant...
Question de gourmandise, et sous vi mon pb est-il soluble ?
Je me souviens de qq commandes du type :
:1,$s/^#/CouCou/
:5,15d
On doit bien pouvoir combiner les deux, non ?
MERCI jipicy,
Visiblement tu t'éclates avec ces outils sed, ed, awk...
Si avoir une réponse de ta part est fort agréable, ce n'est pas LA solution...
Ce serait bien que mon neurone trouve çà tout seul...
As-tu qq liens, de la litérature... concernant ces outils remarquables. J'ai bien "Maîtrise des Expressions régulières" chez O'Reilly, mais il faut se cramponner et quand j'ai un besoin immédiat... jipicy c'est plus rapide !
Souvent ça manque d'exemple, surtout si on en fait pas tous les jours, moi j'arrive mieux à partir d'exemples quitte à faire qq essais... et c'est rigolo car le résultat est parfois surprenant...
Question de gourmandise, et sous vi mon pb est-il soluble ?
Je me souviens de qq commandes du type :
:1,$s/^#/CouCou/
:5,15d
On doit bien pouvoir combiner les deux, non ?