pense-bête de bruno sanchiz

Accueil > Linux > Lignes de commandes > sed

sed

Publié le 27 janvier 2023, dernière mise-à-jour le 6 novembre 2024, > 16 visites, >> 9056 visites totales.

sed permet de manipuler les contenus de fichiers

Pour essayer les commander sur un fichier , taper cat ( ou head, tail ) fichier |sed ...

Pour appliquer le changement au fichier, taper sed .... -i fichier

ATTENTION : l’utilisation de la guillemet simple ou double change les résultats.

séparer deux commandes : ;

cat fichier |sed '=;iblah'
1
blah
aaaa
2

utiliser la ligne suivante au motif :n

cat fichier2|sed -e '/fichier2ligne1/{n; s/i/A/g}'
fichier2ligne1
fAchAer2lAgne2

ajouter la ligne suivante au motif : N

cat fichier2|sed -e ’/fichier2ligne1/N ; s/i/A/g
fAchAer2lAgne1
fAchAer2lAgne2

substitution :s

  • substitution du deuxième i : echo fichier |sed 's/i/A/2'
    fichAer

numéroter les lignes : =

cat fichier |sed '='

1
aaaa
2
...

ajouter du texte avant chaque ligne : i

cat fichier |sed 'iblah'
blah
aaaa
blah
...

ajouter du texte après chaque ligne : a

cat fichier |sed 'ablah'
aaaa
blah
bbbb
...
ajouter fichier2 après chaque ligne : r
cat fichier |sed 'rfichier2'
aaaa
fichier2ligne1
fichier2ligne2
bbbb
ajouter fichier2 ligne par ligne après chaque ligne : R
cat fichier |sed 'Rfichier2'
aaaa
fichier2ligne1
bbbb
fichier2ligne2

enlever les lignes vides d’un fichier

sed -i '/^$/d' b1.md5

[bruno sanchiz]