|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2006 Messages : 24 ![]() |
Bonjour,,
voilà quelques jours que j'essaye d'ajouter une chaîne de caractères en fin de ligne, si et seulement si celle-ci ne la contient pas. C'est à appliquer plus précisément sur le fichier /etc/security/login.cfg. Voilà la fin de fichiers original: Code :
Code :
Est-ce que quelqu'un aurait une petite idée? Peu importe que ce soit avec awk, sed ou même pearl... Si une âme généreuse avait la solution miracle, je l'en remercie d'avance Cordialement. |
||||
|
|
10
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Code :
sed '\#^shells = .*/usr/bin/false.*#! {s#^shells = .*#&,/usr/bin/false#}'
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2006 Messages : 24 ![]() |
Salut,
merci pour ta réponse rapide. J'ai cependant deux petits problèmes: - le premier c'est que la ligne en question commence par une tabulation (\t). A quel endroit faut-il modifier ta commande sed ? - deuxièmement, je viens de me rendre compte que je ne suis pas sur un linux, mais sur un aix, et visiblement la syntaxe n'est pas reconnue alors que sur un linux oui. Il me retourne un "sed: 0602........ is not a recognized function". Y'a-t-il un moyen de contourner le problème ? Cordialement. |
|
|
10
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Citation:
Code :
sed '\#\tshells = .*/usr/bin/false.*#!{....}'
Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
10
|
|
|
#5 | ||||||||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2006 Messages : 24 ![]() |
Citation:
Code :
Citation:
Code :
Code :
|
||||||||
|
|
10
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Essaie comme ça :
Code :
sed '/shells =.*\/usr\/bin\/false.*/!{s/shells.*/&,\/usr\/bin\/false/}'
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#7 | |||||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2006 Messages : 24 ![]() |
Citation:
![]() Code :
Code :
|
|||||
|
|
10
|
|
|
#8 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Ok, essayons une autre approche...
Crée un fichier (fich.sed) avec le contenu suivant : Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
10
|
|
|
#9 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2006 Messages : 24 ![]() |
Malheureusement, je me retrouve avec la même erreur que tout à l'heure, à la différence près que l'erreur à l'air de se situer sur la 1ère moitié de la 1ère ligne:
Code :
|
||
|
|
10
|
|
|
#10 | |||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Sans grande conviction essaie avec le fichier fich.sed comme suit :
Code :
Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|||
|
|
10
|
|
|
#11 | ||||||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2006 Messages : 24 ![]() |
Citation:
Code :
Citation:
Te restes-t-il encore une solution dans ton chapeau ou...? Le cas échéant, vers quoi je devrais me pencher à ton avis? |
||||||
|
|
10
|
|
|
#12 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
En dernier recours essaye ça :
Code :
sed '/shells =/{/false/!{s/$/,\/usr\/bin\/false/};}'
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#13 | ||
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
Avec Awk :
Code :
|
||
|
|
20
|
|
|
#14 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
$0 ~ /^shells =/ à transformer en $0 ~ /shells =/ ou $0 ~ /\tshells =/ dans la mesure où comme mentionné plus haut, l'expression ne se trouve pas en début de ligne
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
00
|
|
|
#15 | ||||||||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2006 Messages : 24 ![]() |
Citation:
Code :
![]() Citation:
je t'avouerais qu'à un moment, j'y ai cru. Malheureusement, l'ajout ne se fait pas en fin de ligne (sous linux ou aix: Code :
EDIT: ah bah oui en fait, c'était tout simplement la première condition. Il fallait que ça commence par et non l'inverse Code :
![]() Merci beaucoup pour votre aide. Cordialement. |
||||||||
|
|
00
|
|
|
#16 | |||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com