#1 Le 08/08/2016, à 14:01
- voxdemonix
[RÉSOLU] bash équivalent de preg_match et fopen
Bien le bonjour très chère communauté.
Pour la rédaction d'un de mes tuto je souhaite pouvoir créer une ligne de commande modifiant le contenu d'un fichier. Le but étant de supprimer (remplacer par "") une ligne.
Ainsi dans le tuto sur l'installation de ring j'invite l'utilisateur à ajouter le dépôts via la ligne suivante :
sudo sh -c "echo 'deb https://dl.ring.cx/ring-nightly/ubuntu_16.04/ ring main' > /etc/apt/sources.list.d/ring-nightly-man.list"
Pour la partie dés-installation du tuto je voudrais avoir la commande inverse (qui va supprimer deb https://dl.ring.cx/ring-nightly/ubuntu_16.04/ ring main du fichier /etc/apt/sources.list.d/ring-nightly-man.list).
En bonus si vous saviez comment inverser la commande suivante en ligne de commande (sans interface graphique), se serait nice :
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A295D773307D25A33AE72F2F64CD5FA175348F84
édit : j'ia trouvé comment supprimer la clés
Merci d'avance pour toute aide
Dernière modification par voxdemonix (Le 08/08/2016, à 18:01)
Hors ligne
#2 Le 08/08/2016, à 14:24
- Watael
Re : [RÉSOLU] bash équivalent de preg_match et fopen
salut,
1- supprime simplement le fichier
2- rtfm apt-key !
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 08/08/2016, à 15:20
- voxdemonix
Re : [RÉSOLU] bash équivalent de preg_match et fopen
C'est vrai que supprimer le fichier est la solution la plus simple dans ce cas (c'est se que je vais mettre dans mon tuto ), néanmoins je souhaite pouvoir appliquer la modification énumérée sur le fichier principale lorsque c'est ce dernier qu'on a modifié (ainsi que savoir comment on modifie un fichier en bash, chose facile en PHP )
Dernière modification par voxdemonix (Le 08/08/2016, à 15:21)
Hors ligne
#4 Le 08/08/2016, à 15:35
- Watael
Re : [RÉSOLU] bash équivalent de preg_match et fopen
en général, on ne modifie pas un fichier en bash*, on emploie sed.
* « y en a qui ont essayé, ils ont eu des problèmes ! »
plus sérieusement : on peut, mais c'est plus lent qu'avec sed.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 08/08/2016, à 16:06
- MicP
Re : [RÉSOLU] bash équivalent de preg_match et fopen
La ligne de commande citée dans ton premier message va créer (ou écraser si il existait déjà) le fichier /etc/apt/sources.list.d/ring-nightly-man.list
en y écrivant une ligne de texte contenant : deb https://dl.ring.cx/ring-nightly/ubuntu_16.04/ ring main
Supprimer cette ligne reviendrait à rendre le fichier vide de contenu, d'où la simplification proposée consistant à supprimer simplement ce fichier.
=======
Mais en supposant que le fichier /etc/apt/sources.list.d/ring-nightly-man.list contenait plusieurs lignes,
pour supprimer dans ce fichier la ligne qui contient deb https://dl.ring.cx/ring-nightly/ubuntu_16.04/ ring main
tu pourrais utiliser la commande sed :
sudo sed -i '\|deb https://dl.ring.cx/ring-nightly/ubuntu_16.04/ ring main|d;' /etc/apt/sources.list.d/ring-nightly-man.list
Hors ligne
#6 Le 08/08/2016, à 17:55
- voxdemonix
Re : [RÉSOLU] bash équivalent de preg_match et fopen
Très gros merci pour vos informations, elles répondent a ce que j'attendais (ça fait un moment que je cherche un substitut a preg_replace )
Hors ligne