Bonjour à tous,
J'ai un réel souci avec la détection d'une ligne vide dans un fichier de configuration du serveur samba /etc/samba/smb.conf. Je vous joins en pièce jointe le fichier que j'utilise (fichier type), dans le cas où vous n'auriez pas installé samba sur votre machine.
Mon script fonctionne correctement sur n'importe quel fichier mais pas sur celui de samba. Le fonctionnement du script est de rechercher la chaine de caractères "[homes]", de récupérer le numéro de ligne correspondant et d'ajouter à la première ligne vide détectée en dessous de [homes] une chaine de caractères... Le problème est qu'il ne détecte pas la ligne vide et continue jusqu'à la fin du fichier.
Voici mon script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #!/bin/bash fichier=/etc/samba/smb.conf numero=`sed -n "/\[homes\]/=" $fichier` texte=`sed -n "$numero p" $fichier` while [ -z "$texte" ]; do numero=$(( ${numero} + 1 )) texte=`sed -n "$numero p" $fichier` echo $numero echo $texte done numero=$(( ${numero} + 1 )) sed -i $numero'iINSERTION_LIGNE\n' $fichier
Pour info, la pièce jointe est en .txt mais en .conf à l'origine...
Çà fait deux jours que je suis dessus et je n'ai pas trouvé la solution à ce bug
Merci beaucoup pour votre aide.
Partager