Linux underground |
Supprimer les espaces de fin de ligne :
$ sed -i -e "s/[[:space:]]*$//" monfichier.c
Supprimer les espaces de début de ligne :
$ sed -i -e "s/^[[:space:]]*//" monfichier.txt
Commenter les lignes commançant par "dev-python" :
$ sed -i -e "s/^\(dev-python.*\)/# \1/" /etc/portage/package.accept_keywords/temp
Ajouter des délimiteurs à un fichier .csv qui en est dépourvu :
$ sed -i -e 's|^|"|;s|;|";"|g;s|$|"|' monfichier.csv
Modification par lot :
L'exemple avec le grep pourra être plus efficace dans certains cas
puisqu'il va déjà éliminer les fichiers qui ne
remplissent pas la condition de substitution du sed.
Par contre avec l'option -exec du find, on pourra se passer de la technique du
pipe-line et de xargs.
$ grep -rl PYTHON_COMPAT= linuxunderground-overlay/dev-python | xargs sed -i -e "/PYTHON_COMPAT=/ s/{5,6}/{5,6,7}/"
$ find linuxunderground-overlay/dev-python -name "*ebuild" -exec sed -i -e "/PYTHON_COMPAT=/ s/{5,6}/{5,6,7}/" {} \;
https://www.commentcamarche.net/faq/4839-sed-supprimer-une-ou-plusieurs-lignes-d-un-fichier.