Sed : suppression insensible casse
eZula
Messages postés
3391
Date d'inscription
Statut
Contributeur
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Salut,
je souhaite effacer toutes les lignes d'un fichier qui ne commencent pas par
Pour cela j'utilise l'expression suivante :
Comment faire pour que cela fonctionne sans respect de la casse ? j'ai tenté avec !di ou encore i!d et il répond fermement " extra characters after command".
Est-il possible d'éviter de dénombrer toutes les combinaisons de caractères du genre [Hh][Kk][Ee][Yy].... ?
Merci
je souhaite effacer toutes les lignes d'un fichier qui ne commencent pas par
[HKEY_LOCAL_MACHINE\\SYSTEM
Pour cela j'utilise l'expression suivante :
sed "/^\[HKEY_LOCAL_MACHINE\\SYSTEM.*$/!d" fichier
Comment faire pour que cela fonctionne sans respect de la casse ? j'ai tenté avec !di ou encore i!d et il répond fermement " extra characters after command".
Est-il possible d'éviter de dénombrer toutes les combinaisons de caractères du genre [Hh][Kk][Ee][Yy].... ?
Merci
A voir également:
- Sed : suppression insensible casse
- 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) ? - Guide
- Sed et ses caprices (ou les miens) ✓ - Forum Linux / Unix
- Sed crlf - Astuces et Solutions
- Sed - Remplacement texte par retour à la ligne ? ✓ - Forum Linux / Unix
- Sed supprimer ligne vide - Forum Linux / Unix
4 réponses
Salut,
Le flag "I" (insensible à la casse) ne s'adapte qu'à la commande de substitution "s" malheureusement.
Une solution tout de même si c'est ou tout en majuscule ou tout en minuscule :
Le flag "I" (insensible à la casse) ne s'adapte qu'à la commande de substitution "s" malheureusement.
Une solution tout de même si c'est ou tout en majuscule ou tout en minuscule :
sed '/^\(\[HKEY_LOCAL_MACHINE\\SYSTEM\|\[hkey_local_machine\\system\)/!d'
Merci. Malheureusement il pourra s'agir également de
donc je crois que ce sera fatalement le schéma [Hh][Kk][Ee][Yy]
[HKEY_LOCAL_MACHINE\\SYSTEM [HKEY_LOCAL_MACHINE\\System [hkey_local_machine\\System ...
donc je crois que ce sera fatalement le schéma [Hh][Kk][Ee][Yy]
Le flag "I" (insensible à la casse) ne s'adapte qu'à la commande de substitution "s" malheureusement.
Ben, en ce cas
je souhaite effacer toutes les lignes d'un fichier qui ne commencent pas par
Tu peux le faire en deux étapes :
- 1ère étape tu utilises s/// pour supprimer les chaînes qui ne commencent pas par ....
- 2ème étape tu supprimes les lignes vides
Comme ça il pourra utiliser le flag "i"
Ben non malheureusement toujours pas ;-((
Il n'y a rien à substituer, seulement effacer les lignes ne correspondant pas au motif (d'où ma seconde proposition avec "grep -i", voir plus bas) et ça "sed" ne sait pas faire simplement ;-(
Il n'y a pas moyen de affiche le contraire de ?!
Merci l'ami lami20j ;-)
Affiche uniquement les lignes correspondant à un motif donné avec insensibilité à la case