#1 Le 08/03/2022, à 17:43
- TomurIII
[Résolu] Créer une commande pour modifier une valeur dans un fichier
Bonjour,
Je voulais savoir comment on pouvait faire pour créer des commandes qui modifie une valeur dans un fichier texte. Je précise que dans ce fichier, il y a qu'une valeur. Je désirerais faire plus moins dans la valeur.
Merci d'avance.
Dernière modification par TomurIII (Le 12/03/2022, à 22:04)
Hors ligne
#2 Le 08/03/2022, à 18:08
- erresse
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Bonjour,
C'est quoi "faire plus moins dans la valeur" ? Il y a quoi dans ce fichier texte, un texte ou un nombre (j'ai bien noté que le fichier ne contient qu'une valeur) ?
Enfin, ta commande serait exécutée comment ? Dans un script bash, dans une programme python ou autre ???
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#3 Le 08/03/2022, à 19:54
- Watael
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
salut,
ouvre ton fichier dans un éditeur de texte ! où est le problème ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 08/03/2022, à 21:38
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Bonjour,
C'est quoi "faire plus moins dans la valeur" ? Il y a quoi dans ce fichier texte, un texte ou un nombre (j'ai bien noté que le fichier ne contient qu'une valeur) ?
Enfin, ta commande serait exécutée comment ? Dans un script bash, dans une programme python ou autre ???
Bonjour,
C'est augmenter ou diminuer le nombre et la commande sera exécuter par un raccourci clavier.
Merci d'avance.
Hors ligne
#5 Le 08/03/2022, à 21:38
- le-peyo
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Salut.
echo "Essai" > ~/Fichier_de_test.txt
Ça va créer un fichier dans ton home qui s'appellera Fichier_de_test.txt, et dedans tu verras qu'il y a le mot Essai d'inscrit.
Il ne te reste plus qu'à adapter les valeurs, le chemin et le nom du fichier en fonction de tes besoins.
Dernière modification par le-peyo (Le 08/03/2022, à 21:39)
Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !
Hors ligne
#6 Le 08/03/2022, à 21:41
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Salut.
echo "Essai" > ~/Fichier_de_test.txt
Ça va créer un fichier dans ton home qui s'appellera Fichier_de_test.txt, et dedans tu verras qu'il y a le mot Essai d'inscrit.
Il ne te reste plus qu'à adapter les valeurs, le chemin et le nom du fichier en fonction de tes besoins.
Bonjour,
Merci de votre réponse. Est-il possible de de créer une commande poor que cela augmente ou diminue un nombre.
Merci d'avance.
Hors ligne
#7 Le 08/03/2022, à 21:44
- Compte supprimé
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
C'est pour régler la luminosité de l'écran ?
https://forum.ubuntu-fr.org/viewtopic.p … #p22535528
#8 Le 08/03/2022, à 21:52
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Salut.
echo "Essai" > ~/Fichier_de_test.txt
Ça va créer un fichier dans ton home qui s'appellera Fichier_de_test.txt, et dedans tu verras qu'il y a le mot Essai d'inscrit.
Il ne te reste plus qu'à adapter les valeurs, le chemin et le nom du fichier en fonction de tes besoins.
Bonjour,
Je ne veux faire un nouveau fichier mais je veux en modifier un déjà existant.
Merci d'avance.
Hors ligne
#9 Le 08/03/2022, à 22:28
- Tawal
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Hello,
2 commandes qui répondent aux besoins : 1 pour ajouter, l'autre pour ôter :
echo $(($(</chemin/du/fichier/nombre) +1 )) > /chemin/du/fichier/nombre
echo $(($(</chemin/du/fichier/nombre) -1 )) > /chemin/du/fichier/nombre
à adapter selon les valeurs.
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
Why not 'ls' in script ?
Hors ligne
#10 Le 08/03/2022, à 22:33
- le-peyo
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Je ne veux faire un nouveau fichier mais je veux en modifier un déjà existant.
Comme je te l'ai dit précédemment :
Il ne te reste plus qu'à adapter les valeurs, le chemin et le nom du fichier en fonction de tes besoins.
Tu remplaces le nom de fichier de mon exemple par le fichier que tu veux.
C'est vrai que je n'avais pas précisé que tu peux mettre un fichier déjà existant.
Dernière modification par le-peyo (Le 08/03/2022, à 22:34)
Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !
Hors ligne
#11 Le 08/03/2022, à 22:46
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Hello,
2 commandes qui répondent aux besoins : 1 pour ajouter, l'autre pour ôter :
echo $(($(</chemin/du/fichier/nombre) +1 )) > /chemin/du/fichier/nombre
echo $(($(</chemin/du/fichier/nombre) -1 )) > /chemin/du/fichier/nombre
à adapter selon les valeurs.
Bonjour,
Je vous informe que le retour ne votre commande me dit que je n'ai pas les permissions.
Merci d'avance.
Hors ligne
#12 Le 08/03/2022, à 22:47
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
TomurIII a écrit :Je ne veux faire un nouveau fichier mais je veux en modifier un déjà existant.
Comme je te l'ai dit précédemment :
Il ne te reste plus qu'à adapter les valeurs, le chemin et le nom du fichier en fonction de tes besoins.
Tu remplaces le nom de fichier de mon exemple par le fichier que tu veux.
C'est vrai que je n'avais pas précisé que tu peux mettre un fichier déjà existant.
Bonjour,
J'ai essayé mais cela ne marche pas. Il répond dans le vide et ne fait rien.
Merci d'avance.
Hors ligne
#13 Le 08/03/2022, à 22:52
- Tawal
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Je vous informe que le retour ne votre commande me dit que je n'ai pas les permissions.
Donne le retour de la commande (avec la commande), merci.
Edit:
Un essai chez moi :
$ cat /home/tawal/Term/test
10
$
$ echo $(($(</home/tawal/Term/test) -1 )) > /home/tawal/Term/test
$
$ cat /home/tawal/Term/test
9
$
Dernière modification par Tawal (Le 08/03/2022, à 22:59)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
Why not 'ls' in script ?
Hors ligne
#14 Le 08/03/2022, à 23:00
- le-peyo
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Tu as bien mis le chemin complet de ton fichier ?
S'il y a des espaces dans ton nom de fichier il faut mettre des " " autour :
echo "Essai" > ~/"Fichier de test.txt"
Si ton fichier n'est pas dans ton home, mets-le chemin complet. Si tu as des espaces dans tes noms de dossiers, mets tout le chemin entre " "
Par exemple :
echo "Essai" > "/home/TomurIII/mon programme/mon dossier de valeurs/Fichier de test.txt"
Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !
Hors ligne
#15 Le 08/03/2022, à 23:10
- Tawal
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Si c'est un fichier qui a besoin des droits root, les commandes ne fonctionnent pas, même avec "sudo" devant !
Il faut préciser le fichier visé !
Sans ça, je ne peux pas apporter plus d'aide.
Sauf, que pour des droits root, la commande deviendrait :
echo $(($(</chemin/du/fichier/nombre) +1 )) | sudo tee /chemin/du/fichier/nombre
à condition d'avoir les droits de lecture sur ce fichier.
Edit2: (plus important que le 1)
un petit retour de :
ls -l /chemin/du/fichier/nombre
serait bienvenu.
Edit:
Pour rendre la commande silencieuse (sauf erreurs) :
echo $(($(</chemin/du/fichier/nombre) +1 )) | sudo tee /chemin/du/fichier/nombre >/dev/null
Dernière modification par Tawal (Le 09/03/2022, à 00:17)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
Why not 'ls' in script ?
Hors ligne
#16 Le 09/03/2022, à 21:49
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Je vous informe que le retour ne votre commande me dit que je n'ai pas les permissions.
Donne le retour de la commande (avec la commande), merci.
Edit:
Un essai chez moi :$ cat /home/tawal/Term/test 10 $ $ echo $(($(</home/tawal/Term/test) -1 )) > /home/tawal/Term/test $ $ cat /home/tawal/Term/test 9 $
Bonjour,
Voici le retour de la commande. Le fichier n'existe pas.
cat /home/tawal/Term/test
cat: /home/tawal/Term/test: Aucun fichier ou dossier de ce type
Hors ligne
#17 Le 09/03/2022, à 22:07
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Si c'est un fichier qui a besoin des droits root, les commandes ne fonctionnent pas, même avec "sudo" devant !
Il faut préciser le fichier visé !
Sans ça, je ne peux pas apporter plus d'aide.
Sauf, que pour des droits root, la commande deviendrait :echo $(($(</chemin/du/fichier/nombre) +1 )) | sudo tee /chemin/du/fichier/nombre
à condition d'avoir les droits de lecture sur ce fichier.
Edit2: (plus important que le 1)
un petit retour de :ls -l /chemin/du/fichier/nombre
serait bienvenu.
Edit:
Pour rendre la commande silencieuse (sauf erreurs) :echo $(($(</chemin/du/fichier/nombre) +1 )) | sudo tee /chemin/du/fichier/nombre >/dev/null
Bonjour,
Voici le retour de la commande :
ls -l /sys/class/backlight/intel_backlight/brightness
-rw-r--r-- 1 root root 4096 mars 9 20:57 /sys/class/backlight/intel_backlight/brightness
Je vous annonce que les commandes marchent dans un terminal mais ne marchent pas avec un raccourci clavier.
Avez-vous une solution à cela.
Merci d'avance.
Hors ligne
#18 Le 10/03/2022, à 04:00
- Watael
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
sans savoir ce qu'il y a "dans" le raccourci clavier et comment tu l'as défini, non.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#19 Le 11/03/2022, à 15:44
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
sans savoir ce qu'il y a "dans" le raccourci clavier et comment tu l'as défini, non.
Bonjour,
Pour définir le raccourci clavier, je suis allé dans Paramètres, Raccourcis Clavier et Créer un nouveau raccourci Clavier dans lequel, j'ai mis les commandes que j'ai cité dans mon dernier message.
Merci d'avance.
Hors ligne
#20 Le 11/03/2022, à 16:13
- Tawal
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
ls -l /sys/class/backlight/intel_backlight/brightness -rw-r--r-- 1 root root 4096 mars 9 20:57 /sys/class/backlight/intel_backlight/brightness
Donc le fichier que tu veux modifier appartient à root et est lisible par "tout le monde".
Il faut des droits root pour le faire.
Si tu veux faire un raccourci, je ne vois guère qu'un raccourci appelant un script.
Avec, la commande du raccourci :
pkexec /chemin/vers/le/script_ajoute_1
Et, le script :
#!/bin/bash
echo $(($(</sys/class/backlight/intel_backlight/brightness)+1)) > /sys/class/backlight/intel_backlight/brightness
Il peut exister (moyennant quelques configurations spécifiques) une solution pour ne pas avoir à renseigner le mot de passe.
Edit:
Il faut évidemment que le script soit exécutable :
chmod +x /chemin/vers/le/script
Edit:
Allez, comme je sais que la solution au dessus ne te plaira pas à cause de la demande graphique du mot de passe,
je te donne la solution "sans demande de mot passe" :
1- Il faut modifier le fichier /etc/sudoers, pour ce faire :
sudo visudo
Et tu ajoutes ces lignes à la fin (en adaptant ton nom d'utilisateur) :
# Ajouts Persos
nom_utilisateur ALL = NOPASSWD: /usr/bin/tee /sys/class/backlight/intel_backlight/brightness
Et tu fais Ctrl+o, Entrée et Ctrl+x
Normalement, ça quitte l'éditeur sans erreur, sinon réponds "e" à la question et efface les ajouts et refais la série de touches clavier citée au-dessus.
2- Ensuite, tu crées un fichier texte (script) avec ces lignes :
#!/bin/bash
echo $(($(</sys/class/backlight/intel_backlight/brightness)+1)) | sudo tee /sys/class/backlight/intel_backlight/brightness
que tu rends exécutable :
chomd +x /chemin/nom_du_script
3- Puis, tu crées un lanceur (raccourci) avec pour commande le chemin absolu (complet) du script :
/chemin.../nom_du_script
À ce point, tu dois faire 2 scripts et 2 raccourcis pour faire +1 et -1. (partie 2 et 3 à répéter seulement).
Au plaisir.
Edit:
Il faut bien sûr adapter les "chemin" et les "nom_du_script" en fonction des fichiers que l'on crée et de l'endroit où ils sont
Dernière modification par Tawal (Le 11/03/2022, à 17:29)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
Why not 'ls' in script ?
Hors ligne
#21 Le 11/03/2022, à 19:45
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Bonjour,
Je voulais dire que qaund je tape la commande pour éxécuter le script, il m'est dit :
Error executing /home/user/NE_PAS_SUPPRIMER_luminositer_+.sh: Permission denied
Voici le sript que j'ai fait :
#!/bin/bash
echo $(($(</sys/class/backlight/intel_backlight/brightness)+400)) > /sys/class/backlight/intel_backlight/brightness
chomd +x /sys/class/backlight/intel_backlight/brightness
Pourriez-vous me dire comment je peux résoudre ce problème. J'ai aussi modifier le fichier /etc/sudoers, comme vous me l'avez indiquer.
Merci d'avance.
Hors ligne
#22 Le 11/03/2022, à 20:02
- Tawal
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Non !
As-tu fait la manipulation avec "visudo" ?
Je suppose que oui. Edit : OUI (voir au dessus) donc :
Le script doit être :
#!/bin/bash
echo $(($(</sys/class/backlight/intel_backlight/brightness)+1)) | sudo tee /sys/class/backlight/intel_backlight/brightness
et la commande du raccourci :
/home/user/NE_PAS_SUPPRIMER_luminositer_+.sh
Edit:
Ensuite dans un terminal, entre cette commande pour rendre exécutable le script :
chmod +x /home/user/NE_PAS_SUPPRIMER_luminositer_+.sh
Dernière modification par Tawal (Le 11/03/2022, à 21:15)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
Why not 'ls' in script ?
Hors ligne
#23 Le 11/03/2022, à 21:10
- le-peyo
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Bonjour,
Je voulais dire que qaund je tape la commande pour éxécuter le script, il m'est dit :
Error executing /home/user/NE_PAS_SUPPRIMER_luminositer_+.sh: Permission denied
Voici le sript que j'ai fait :
#!/bin/bash echo $(($(</sys/class/backlight/intel_backlight/brightness)+400)) > /sys/class/backlight/intel_backlight/brightness chomd +x /sys/class/backlight/intel_backlight/brightness
Pourriez-vous me dire comment je peux résoudre ce problème. J'ai aussi modifier le fichier /etc/sudoers, comme vous me l'avez indiquer.
Merci d'avance.
L'erreur vient du fait que tu as mis dans ton script une commande qui n'a rien à faire là.
Il faut commencer par effacer de ton script la ligne
chomd +x /sys/class/backlight/intel_backlight/brightness
puis tu fais comme Tawal te dit en fin de son message :
Ensuite dans un terminal, entre cette commande pour rendre exécutable le script :
chmod +x /home/user/NE_PAS_SUPPRIMER_luminositer_+.sh
Dernière modification par le-peyo (Le 11/03/2022, à 21:18)
Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !
Hors ligne
#24 Le 11/03/2022, à 21:19
- Tawal
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
puis tu fais comme Tawal te dit en fin de son message :
Ou graphiquement :
- Clic droit sur le fichier à rendre exécutable
- Propriétés
- Permissions
- Cocher "Autoriser ce fichier à être exécuté comme un programme"
- Fermer
Dernière modification par Tawal (Le 11/03/2022, à 21:22)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
Why not 'ls' in script ?
Hors ligne
#25 Le 12/03/2022, à 22:03
- TomurIII
Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier
Bonjour,
Je vous remercie tous pour votre aide et vos conseils. J'ai réussi à résoudre ce problème.
Merci.
Hors ligne