logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 19-11-2023 17:02:25

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

[Résolu] Bash : rechercher le dièse dans une variable.

Bonjour,

Je lis un fichier texte ligne à ligne dans la boucle d'un script :

while IFS= read -r my_rep
do
  # Si $my_rep ne débute pas par "#", traitement.
done < reps2sync.txt


J'aimerais pouvoir mettre un dièse devant les lignes du fichier texte que je ne souhaite pas traiter.
Comment tester dans $my_rep la présence de # sans générer d'echo en sortie ?

Dernière modification par sylvain_78 (20-11-2023 16:17:13)

Hors ligne

#2 19-11-2023 18:48:13

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : [Résolu] Bash : rechercher le dièse dans une variable.

Je partirais sur quelque chose dans ce style :

# Ignorer la ligne courante si elle commence par un "#",
# éventuellement précédé d'espaces ou de tabulations.
if ! printf '%s' "$my_rep" | grep --quiet --regexp='^\s*#'; then
    # traitement à effectuer si la ligne ne commence pas par un "#"
fi


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#3 19-11-2023 21:06:47

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Bash : rechercher le dièse dans une variable.

Ce ne serait pas plus simple et efficace de faire le grep sur le fichier avant de l'envoyer au script ? du genre :

grep -v '^\s*#' reps2sync.txt | while IFS= read -r my_rep
do
  # traitement.
done


(edit: ajout -v manquant)

Dernière modification par raleur (19-11-2023 23:49:29)


Il vaut mieux montrer que raconter.

Hors ligne

#4 20-11-2023 12:56:32

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Re : [Résolu] Bash : rechercher le dièse dans une variable.

Bonjour,

Merci pour vos réponses !
Effectivement, ça marche. Je retiens la solution de @raleur.
C'est toujours un défi pour moi d'écrire un script bash. ça comment à venir mais bon... j'attends un bouquin pioché sur Leboncoin en espérant qu'il m'aide un peu...

Bonne journée,
Sylvain

Hors ligne

#5 20-11-2023 19:10:33

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : [Résolu] Bash : rechercher le dièse dans une variable.

sylvain_78 a écrit :

j'attends un bouquin pioché sur Leboncoin en espérant qu'il m'aide un peu...


Mon expérience est plutôt que les bouquins n'apportent pas grand chose, et qu'on apprend beaucoup plus en demandant des coups de main sur des forums comme celui-ci. Mais tout le monde n'a pas les mêmes préférences d'apprentissage, alors peut-être que pour toi le livre sera un bon tremplin.


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

Pied de page des forums