Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/08/2016, à 15: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 smile

Merci d'avance pour toute aide smile

Dernière modification par voxdemonix (Le 08/08/2016, à 19:01)

Hors ligne

#2 Le 08/08/2016, à 15: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, à 16: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 smile ), néanmoins je souhaite pouvoir appliquer la modification énumérée sur le fichier principale lorsque c'est ce dernier qu'on a modifié smile (ainsi que savoir comment on modifie un fichier en bash, chose facile en PHP smile )

Dernière modification par voxdemonix (Le 08/08/2016, à 16:21)

Hors ligne

#4 Le 08/08/2016, à 16: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. hmm


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 08/08/2016, à 17: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, à 18: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 smile )

Hors ligne