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 19/12/2014, à 11:44

Headshrinker

[Résolu] Récupérer une chaine de caractère (3) sur une ligne précise

Salut à tous

Je souhaite renommer mes fichiers ovpn avec un élément qui est dans le fichier en lui-même.

Voici a quoi ressemble le contenu du fichier

client
remote bs1.vpnfacile.net 443
dev tun
proto tcp
nobind
persist-key
persist-tun
tls-auth ta.key 1
ca ca.crt
cipher AES-256-CBC
keysize 256
link-mtu 1560
comp-lzo
auth-user-pass

Dans cet exemple: le fichier "VPNFacile - Bahamas #1.ovpn" contient en ligne 2 "remote bs1.vpnfacile.net 443"

Je veux récupérer le bs1 pour enfin nommer "VPNFacile - Bahamas #1.ovpn" en "bs1.conf"

voici le début de mon script qui fonctionne jusqu'à l'affichage de la ligne n°2:

#!/bin/bash

echo "Quel fichier veux tu renommer ?"
read fichier_ovpn                                        # Coller le chemin vers le fichier ovpn
sed -n 2p $fichier_ovpn                              # Affiche la 2eme ligne du fichier

Donc voila, la ligne 2 s'affiche mais pour les 8, 9, 10eme caracteres de cette ligne, je seche

merci pour votre aide

Dernière modification par Headshrinker (Le 19/12/2014, à 21:34)

Hors ligne

#2 Le 19/12/2014, à 12:02

pingouinux

Re : [Résolu] Récupérer une chaine de caractère (3) sur une ligne précise

Bonjour,
Si tu veux récupérer, sur la ligne n°2, le mot compris entre l'espace et le point

sed -rn '2s/[^ ]+ ([^.]+).*/\1/p' "$fichier_ovpn"

Hors ligne

#3 Le 19/12/2014, à 12:06

Headshrinker

Re : [Résolu] Récupérer une chaine de caractère (3) sur une ligne précise

merci je vais tester ce soir wink

Hors ligne

#4 Le 19/12/2014, à 14:08

credenhill

Re : [Résolu] Récupérer une chaine de caractère (3) sur une ligne précise

hello

mv "$fichier_ovpn" $(awk -F"[ .]" 'NR==2 {print $2 ".conf"; exit}' "$fichier_ovpn")

Hors ligne

#5 Le 19/12/2014, à 21:33

Headshrinker

Re : [Résolu] Récupérer une chaine de caractère (3) sur une ligne précise

credenhill a écrit :

hello

mv "$fichier_ovpn" $(awk -F"[ .]" 'NR==2 {print $2 ".conf"; exit}' "$fichier_ovpn")

ça marche nickel !!! merci

Hors ligne