|
|
|
|
Bonjour,
j'ai un fichier texte de ce genre :
cinq1;Dupond;jean;jdupond;jdupond
cinq1;valjean,jean;jvaljean,jvaljean
cinq1 est une classe, ensuite nom; prennom, login et mot de passe, comme vous le voyez le login et le mot de passe sont identiques. Je veux pouvoir modifer le mot de passe d'une ligne, voila ce que j'ai fait :
cat /emplacement du fichier | grep jdupond | awk -F ";" '{ print $5}' | sed s/jdupond/pass/ > /fichier provisoire
mais la le fichier provisoire ne contient que pass.
merci de votre aide
reduuxx
PS : je voudrais rester dans du shell sans perl ou autre si c'est possible
Configuration: Linux Firefox 2.0.0.10
Salut,
lami20j@debserv:~/trash$ cat fichier cinq1;Dupond;jean;jdupond;jdupond cinq1;valjean,jean;jvaljean,jvaljean lami20j@debserv:~/trash$ sed -r '1 s/(.*;)(.*)/\1pass/' fichier > temp lami20j@debserv:~/trash$ cat temp cinq1;Dupond;jean;jdupond;pass cinq1;valjean,jean;jvaljean,jvaljean lami20j |
Merci de votre aide rapide, mais vos réponses ne me satisfont pas pleinement. Je pense n'avoir pas été assez clair. Le fichier pourrait être :
|
Merci pour l'aide,
|
Salut,
lami20j@debserv:~/trash$ cat fichier
cinq1;Dupond;jean;jdupond;jdupond
cinq1;valjean,jean;jvaljean,jvaljean
lami20j@debserv:~/trash$ user=jdupond
lami20j@debserv:~/trash$ password=pass
lami20j@debserv:~/trash$ sed -r "/$user/ s/(.*;).*/\1$password/" fichier > temp
lami20j@debserv:~/trash$ cat fichier
cinq1;Dupond;jean;jdupond;jdupond
cinq1;valjean,jean;jvaljean,jvaljean
lami20j@debserv:~/trash$ cat temp
cinq1;Dupond;jean;jdupond;pass
cinq1;valjean,jean;jvaljean,jvaljean
lami20j@debserv:~/trash$
lami20j |
Bonjour
|