Je le modificateur correspondant à une expression rationnelle est une extension GNU qui
fait sed match de regexp dans une casse.
Test
$ cat file
first
FiRst
FIRST
fir3st
$ sed 's/[Ff][Ii][Rr][Ss][Tt]/last/g' file
last
last
last
fir3st
$ sed 's/first/last/Ig' file
last
last
last
fir3st
Vous avez raison!!! Mais je suis à la recherche de tout autre option Comme dans la commande grep ,nous avons l'option-i pour ignorer les cas J'ai trouvé quelque chose dans stackoverflow.com/q/2157288/1983854 . Vérifier mes mises à jour de réponse. le /i /I est pour gnu sed, et seulement pour s/../../ (substitution operation) si je me souvienne. ne fonctionne pas pour /.../p par exemple Oui Kent,Vous avez raison./I et /i Cela ne fonctionne que pour l'opération de substitution Oui je vois @Kent. J'ai essayé, pour ce cas, stackoverflow.com/q/16836306/1983854 et ne fonctionne pas.
Convertir chaque ligne majuscules avant de tester s'il correspond au modèle et si elle le fait, imprimer la chaîne. 1 est le plus court vrai l'état, afin que awk ne le défaut chose: { print }.
D'utiliser une variable, vous pourriez aller avec ceci:
Vous pouvez utiliser les éléments suivants:
Sinon, vous avez la
/I
et n/i
drapeaux:De l'homme sed:
Test
J'ai trouvé quelque chose dans stackoverflow.com/q/2157288/1983854 . Vérifier mes mises à jour de réponse.
le
/i /I
est pour gnu sed, et seulement pours/../../ (substitution operation)
si je me souvienne. ne fonctionne pas pour/.../p
par exempleOui Kent,Vous avez raison./I et /i Cela ne fonctionne que pour l'opération de substitution
Oui je vois @Kent. J'ai essayé, pour ce cas, stackoverflow.com/q/16836306/1983854 et ne fonctionne pas.
OriginalL'auteur fedorqui
GNU sed
OriginalL'auteur Endoro
si vous voulez économiser un peu de temps, essayez de awk. Je ne pense pas que le sed a que l'option
OriginalL'auteur Kent
Vous pouvez essayer
OriginalL'auteur bendaizer
Pour les versions de awk qui ne comprennent pas la
IGNORECASE
variable spéciale, vous pouvez utiliser quelque chose comme ceci:Convertir chaque ligne majuscules avant de tester s'il correspond au modèle et si elle le fait, imprimer la chaîne.
1
est le plus court vrai l'état, afin que awk ne le défaut chose:{ print }
.D'utiliser une variable, vous pourriez aller avec ceci:
Ce passe la variable d'environnement
$foo
et le transforme en majuscules avant que le fichier est traité.Légèrement plus courte avec bash serait d'utiliser
-v pattern="${foo^^}"
et passez laBEGIN
bloc.OriginalL'auteur Tom Fenech