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 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

erresse a écrit :

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

le-peyo a écrit :

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

le-peyo a écrit :

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.

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

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.

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

Tawal a écrit :

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

le-peyo a écrit :
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)

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)

Hors ligne

#16 Le 09/03/2022, à 21:49

TomurIII

Re : [Résolu] Créer une commande pour modifier une valeur dans un fichier

Tawal a écrit :

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

Tawal a écrit :

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

Watael a écrit :

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

Tomurill a écrit :
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 tongue

Dernière modification par Tawal (Le 11/03/2022, à 17:29)

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)

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

TomurIII a écrit :

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 :

Tawal a écrit :

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)

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