Dans le fichier /etc/login.defs
Chercher une ligne qui commence par PASS_MIN_DAYS
on efface complètement la ligne et on la remplace par PASS_MIN_DAYS 0
sudo sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 0/' /etc/login.defs
Lien vers le fichier : cliquez ici
Anciennement j'avais aussi cet exemple que je trouve moins lisible :
Dans le fichier /etc/monappli/messettings.yml
Chercher une ligne qui commence par use_bg_workers:
on efface complètement la ligne et on la remplace par
use_bg_workers: 'true'
sed -i '/^use_bg_workers:/c\use_bg_workers: '\''true'\''' /etc/monappli/messettings.yml
Lien vers le fichier : cliquez ici
Pour remplacer un mot par un autre avec SED
sed -i 's/ancienmot/nouveaumot/g' monfichier.txt
Lien vers le fichier : cliquez ici
En bonus, sur blog.courtine.org j'ai encore vu une autre syntaxe pour remplacer D /tmp par |#D /tmp
En cherchant un peu, si on décortique :
-i indique qu'il faut modifier directement (in-place) le fichier
-e script, --expression=script donc on fourni une expression à traiter
L'expression à traiter est 's|D /tmp|#D /tmp|g'
Le s signifie qu'il faut faire une substitution. Les | sont des délimiteurs. A priori / aurait aussi fonctionner pour délimiter;
On va remplacer D /tmp
par #D /tmp
Le g situé à la fin veut dire "globalement". Toutes les occurrences de la chaîne de recherche dans chaque ligne doivent être remplacées, et non seulement la première occurrence.