Vous n'êtes pas identifié(e).
Hors ligne
Hors ligne
Hors ligne
je viens de le faire tourné , ça fonctionne au poil
Dernière modification par Croutons (19-02-2024 17:37:22)
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
pour la progression l'idée est simple connaître le nombre de ligne du contenu du cd
connaître le nombre de ligne de ta liste, a chaque fois qu'un fichier viens d’être traité
soustraire les deux
donc on voit le décompte qui va bien
pour le nombre mal affiché c'est de ma faute j'avais oublié la ligne qui déclarait la variable max_fichier
max_fichier=$(ls /run/user/1000/gvfs/cdda:host=sr0/|wc -l)
en revanche le message affiche :
restant à traiter
<span font='27'> 8 </span> quand il reste 8 enregistrements
<span font='27'> 7 </span> quand il reste 7 enregistrements
jusqu'à
<span font='27'> 0 </span> quand il reste 0 enregistrements
voici mon script
#!/bin/bash
#reconnaissance audio d'un cd exotique, fichier non taggués
max_fichier=$(ls /run/user/1000/gvfs/cdda:host=sr0/|wc -l)
notify-send "Songrec" "début du processus de reconnaissance" --icon=~/.cargo/songrec.svg
list=$(date +%d-%m-%y_%H:%M:%S)
cd /run/user/1000/gvfs/cdda:host=sr0/
while read -r line
do songrec audio-file-to-recognized-song "$line"|tee /tmp/songrec.json
album=$(grep -B1 Album /tmp/songrec.json|awk '/"text"/ {sub(/",.*/, ""); print substr($0,22)}')
interprete=$(awk '/"subtitle"/ {sub(/",.*/, ""); print substr($0,18)}' /tmp/songrec.json)
titre=$(awk '/"title".*",/ {sub(/",.*/, ""); print substr($0,15)}' /tmp/songrec.json)
echo "titre-"$titre"___interprete-"$interprete"""____album-"$album|tee -a /home/jojo/JM/Chansons_CD/Sardou"$list".txt
liste_fichier=$(cat /home/jojo/JM/Chansons_CD/Sardou"$list".txt|wc -l)
restant=$(($max_fichier-$liste_fichier))
notify-send "restant à traiter" "<span font='27'>$restant</span>" --icon=~/.cargo/songrec.svg
done <<<$(ls -UN1 /run/user/1000/gvfs/cdda:host=sr0/|grep .wav)
paplay /home/jojo/JM/Linux/SONS/tada.wav
paplay /home/jojo/JM/Linux/SONS/dangers.ogg
notify-send --urgency=critical "Songrec" "Fin" --icon=~/.cargo/songrec.svg
notify-send --urgency=critical "Songrec" "Opération terminée\nfichier créé:\n/home/jojo/JM/Chansons_CD/Sardou"$list".txt"
eject
Hors ligne
Hors ligne
Hors ligne
deviendrait
étrange cette histoire avec span , chez moi cela fonctionne, sûrement que ton système de notification ne comprend pas la syntaxe pango markup
chaque environnement de bureau a son propre système
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
Hors ligne
y a t'il dans la commande grep une option pour banaliser l'accent, comme pour la casse (-i)
grep -r -i "véteran" marcherait pour vétéran
à première vu rien ne le dit dans le man, j'ai trouvé sur plusieurs site qu'il fallait entourer le caractère recherché comme ceci
faut dire que cela fonctionne
https://stackoverflow.com/questions/209 … itive-grep
pour le script j'aurais du faire quelque chose comme ça
voir le poste la https://debian-facile.org/viewtopic.php?id=34577
je le réécrirais sûrement a l'occasion
je suis un vieil informaticien de plus de 42 ans de pratique (dos,windows,basic,cobol, assembleur, mantis, vb..) et linux est d'une richesse !!!! je ne veux pas convertir un convaincu !!!
je vais continuer de me constituer une petite doc
pas de formation informaticien pour moi , je ne suis qu'un passionné curieux
j'en apprend chaque jour, mais je fonctionne surtout avec mes notes, j'ai plus ma mémoire de mes 20 ans
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
y a t'il dans la commande grep une option pour banaliser l'accent, comme pour la casse (-i)
grep -r -i "véteran" marcherait pour vétéran
à première vu rien ne le dit dans le man, j'ai trouvé sur plusieurs site qu'il fallait entourer le caractère recherché comme ceci
faut dire que cela fonctionne
https://stackoverflow.com/questions/209 … itive-grep
pour le script j'aurais du faire quelque chose comme ça
voir le poste la https://debian-facile.org/viewtopic.php?id=34577
je le réécrirais sûrement a l'occasion
je suis un vieil informaticien de plus de 42 ans de pratique (dos,windows,basic,cobol, assembleur, mantis, vb..) et linux est d'une richesse !!!! je ne veux pas convertir un convaincu !!!
je vais continuer de me constituer une petite doc
pas de formation informaticien pour moi , je ne suis qu'un passionné curieux
j'en apprend chaque jour, mais je fonctionne surtout avec mes notes, j'ai plus ma mémoire de mes 20 ans
edit: remarque bien il y a pas mal de variante de grep
je viens de voir que j'avais installé ugrep, pas trouvé d'option
mais on peux par exemple spécifier le nombre de caractéres qui peuvent ne pas matcher dans la recherche
l'option interactif -Q est pas mal foutu
Dernière modification par Croutons (20-02-2024 15:56:20)
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
grep -ri "v[[=e=]]t[[=e=]]ran"
ça marche !!!
#!/bin/bash
max_fichier=$(ls /run/user/1000/gvfs/cdda:host=sr0/|wc -l)
for index in $(seq 1 "$max_fichier"); do
echo Track "$index".wav
# (…)
done
pourquoi veux tu faire cela ?
j'ai executé avec notify-send à la place d'echo , car l'echo n'affiche pas à l'écran
je n'ai pas ugrep
A suivre
JM
Hors ligne
Hors ligne
Hors ligne
edit: pour le script
echo "titre-"$titre"___interprete-"$interprete"""____album-"$album|tee -a /home/jojo/JM/Chansons_CD/Sardou"$list".txt
liste_fichier=$(cat /home/jojo/JM/Chansons_CD/Sardou"$list".txt|wc -l)
restant=$(($max_fichier-$liste_fichier))
notify-send "restant à traiter "$restant " sur "$max_fichier --icon=~/.cargo/songrec.svg
pour rester cohérant avec le sur,il ne faudrait pas faire de décompte
il vaudrait mieux ne pas faire la soustraction
la ligne serait
1 sur 20, 2 sur 20... 20 sur 20, tada, éjection, fini
Dernière modification par Croutons (21-02-2024 11:23:53)
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
avec grep on aurait les numéro des lignes ou d'octet à la rigueur mais j'ai rien trouvé de simple pour connaître la position
j'ai des exemples avec la commande expr pour recherché dans une chaîne de caractère
si tu peux me donner déjà ça, et surtout la structure de la boucle de lecture du fichier toto.txt avec les tests à l'intérieur ,ça serait super !!
je chercherai pour le reste, ou poserai le problème dans la catégorie" débuter avec la ligne de commande"
si tu t'amuse avec chaque lettre de ton clavier puis appui sur la touche tab pour l'autocomplétion
j'ai essayé
ça n'affiche rien !!a tab a tab en MAJ non plus (naturellement j'ai fait ctrl C voyant que rien ne se passait
jojo@jojo-Aspire-7720Z:~$ a^C
jojo@jojo-Aspire-7720Z:~$
Bon appétit
merci en tout cas
JM
Dernière modification par JM38 (21-02-2024 11:59:32)
Hors ligne
si tu peux me donner déjà ça, et surtout la structure de la boucle de lecture du fichier toto.txt avec les tests à l'intérieur ,ça serait super !!
je chercherai pour le reste, ou poserai le problème dans la catégorie" débuter avec la ligne de commande"
je te dis ça , des que je suis sur ma Debian, j'ai vu une piste sur le net avec la commande expr option index, couplé avec grep , je pense que ça doit le faire
mais on est loin du sujet du départ , oui il faudrait mieux ouvrir un autre poste
Dernière modification par Croutons (21-02-2024 14:25:45)
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
bien sur on peut effectuer la recherche sur un répertoire (option -R)et sous répertoire et on aura en + le nom et chemin du fichier
c'est juste un extrait , c'est dingue le nombre de fichier qui contiennent bonjour
Dernière modification par Croutons (21-02-2024 18:27:41)
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
Hors ligne
une fois le paquet tldr installé il faut bien souvent mettre a jour le cache
toute les commandes , ne sont pas présente, et parfois en anglais
parfois la syntaxe n'est pas clair
mais au final c'est un bon aide mémoire
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
Hors ligne
-b, --byte-offset
Afficher l'emplacement dans le fichier (qui commence à l'octet 0) devant chaque ligne de sortie. Si -o (--only-matching) est spécifiée, afficher l'emplacement de la partie qui correspond.
Dernière modification par Croutons (21-02-2024 18:55:39)
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
Hors ligne
ou juste sur une ligne
edit: sinon pour mes scripts j'utilise geany , plus pratique que le terminal
il a d'ailleurs un terminal intégré pour passer les commande en cas de besoin
et une parti note
tu peux ouvrir plusieurs projet sous différent onglet
exécuter ton script sous geany
on peut quitter l'application a tout moment en laissant les onglets ouvert, puis tout reprendre le lendemain
Dernière modification par Croutons (21-02-2024 19:15:48)
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
Hors ligne