Script shell: fichier texte dans une variable
Fermé
ploue
-
6 déc. 2006 à 05:41
Kharec Messages postés 4146 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 - 9 oct. 2009 à 09:49
Kharec Messages postés 4146 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 - 9 oct. 2009 à 09:49
A voir également:
- Script shell: fichier texte dans une variable
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
10 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
6 déc. 2006 à 07:36
6 déc. 2006 à 07:36
Salut,
le contenu d'un fichier texte dans une variable de mon script shell
le contenu d'un fichier texte dans une variable de mon script shell
var=$(cat fichier) echo $var
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
6 déc. 2006 à 07:28
6 déc. 2006 à 07:28
Salut,
ps: si vous voulez en savoir plus je peux aussi vous décrire mon projet.
Sans aller jusque là (quoi que si ça te fait plaisir...), mais explique davantage ce que tu entends par "je cherche comment mettre le contenu d'un fichier texte dans une variable" !!??
Donnes-nous un exemple concret.
Pour ce qui est de "gerer des fenêtres", si c'est de fenêtres de dialogues dont tu causes, regarde du côté de "Xdialog" (ou dialog en mode "ncurses") pour KDE (tu trouveras un petit exemple là) et de "Zenity" pour Gnome.
;-))
ps: si vous voulez en savoir plus je peux aussi vous décrire mon projet.
Sans aller jusque là (quoi que si ça te fait plaisir...), mais explique davantage ce que tu entends par "je cherche comment mettre le contenu d'un fichier texte dans une variable" !!??
Donnes-nous un exemple concret.
Pour ce qui est de "gerer des fenêtres", si c'est de fenêtres de dialogues dont tu causes, regarde du côté de "Xdialog" (ou dialog en mode "ncurses") pour KDE (tu trouveras un petit exemple là) et de "Zenity" pour Gnome.
;-))
Alors mon problème venait du fait que dans monfichiertexte mon chiffre était suivi d'un retour chariot.
Une fois celui-ci enlevé, cela fonctionne !
Et voici à la lumière de vos remarques le code qui fonctionne pour lire ce chiffre, l'incrémenter et le réécrire; tout simplement :
nb=$(cat monfichiertexte)
nb=$((nb+1))
echo $nb > monfichiertexte
Merci à tous.
Une fois celui-ci enlevé, cela fonctionne !
Et voici à la lumière de vos remarques le code qui fonctionne pour lire ce chiffre, l'incrémenter et le réécrire; tout simplement :
nb=$(cat monfichiertexte)
nb=$((nb+1))
echo $nb > monfichiertexte
Merci à tous.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et comment faire pour ensuite pouvoir considérer cette variable comme un entier et pouvoir l'incrémenter ?
nb=$((nb+1)) ne fonctionne pas par exemple
Merci.
nb=$((nb+1)) ne fonctionne pas par exemple
Merci.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
18 avril 2007 à 20:06
18 avril 2007 à 20:06
Et
Sinon, ta variable elle ressemble à quoi ? et elle sort d'où ?
Pour ton problème essaie plutôt :
nb=$(expr $nb + 1)ça donne quoi ?
Sinon, ta variable elle ressemble à quoi ? et elle sort d'où ?
Pour ton problème essaie plutôt :
nb=$(($nb+1));-)
Merci.
En fait la variable vient d'un fichier texte contenant un chiffre.
On le lit avec un "cat nomdufichier.txt"
L'echo de cette variable fonctionne bien et affiche 1
Par contre j'ai essayé les deux expressions que tu m'indiques et cela me donne une erreur due au type chaine que l'on essaie d'incrémenter.
En fait la variable vient d'un fichier texte contenant un chiffre.
On le lit avec un "cat nomdufichier.txt"
L'echo de cette variable fonctionne bien et affiche 1
Par contre j'ai essayé les deux expressions que tu m'indiques et cela me donne une erreur due au type chaine que l'on essaie d'incrémenter.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 avril 2007 à 12:08
19 avril 2007 à 12:08
re-
Affiche-nous le résultat de la commande :
Affiche-nous le résultat de la commande :
cat ton_fichierMerci ;-)
b=`cat truc` //fichier truc contient 1 a=$(($b+1)) echo $a 2
ca marche en bash ca non ?
Kharec
Messages postés
4146
Date d'inscription
dimanche 20 avril 2008
Statut
Contributeur
Dernière intervention
8 mai 2011
509
9 oct. 2009 à 09:05
9 oct. 2009 à 09:05
ca marche en bash
Ce qui marche en bash marche généralement en sh ;-)
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
>
Kharec
Messages postés
4146
Date d'inscription
dimanche 20 avril 2008
Statut
Contributeur
Dernière intervention
8 mai 2011
9 oct. 2009 à 09:48
9 oct. 2009 à 09:48
hello
je dirais plutot le contraire, ce qui fonctionne en sh fonctionne en bash
cette ligne fonctionne en bash mais pas en sh
$ export DATE=$(date)
cette ligne fonctionne en bash et en sh
$ DATE=`date`; export DATE
je dirais plutot le contraire, ce qui fonctionne en sh fonctionne en bash
cette ligne fonctionne en bash mais pas en sh
$ export DATE=$(date)
cette ligne fonctionne en bash et en sh
$ DATE=`date`; export DATE
Kharec
Messages postés
4146
Date d'inscription
dimanche 20 avril 2008
Statut
Contributeur
Dernière intervention
8 mai 2011
509
>
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
9 oct. 2009 à 09:49
9 oct. 2009 à 09:49
je dirais plutot le contraire, ce qui fonctionne en sh fonctionne en bash
Ah oui, pardon pour l'erreur ;-)
Ah oui, pardon pour l'erreur ;-)
Bonjour,
Est-ce qu'il est possible de faire la même chose en DOS ?
Merci.
Est-ce qu'il est possible de faire la même chose en DOS ?
Merci.
Comme je cherchais aussi, je poste ici la réponse, même si cela date !
Au moins, ceux qui chercherons aussi seront content !
voici la solution en ligne de commande pour windows !
En ligne de commande :
for /f %i in ('type C:\texte.txt') do set var=%i
Dans un script :
for /f %%i in ('type C:\texte.txt') do set var=%%i
Ainsi la commande for va chercher le résultat du premier ensemble de caractère (%i) qui s'affiche grace à la commande "type", et va mettre ce résultat dans la variable "var"
Au moins, ceux qui chercherons aussi seront content !
voici la solution en ligne de commande pour windows !
En ligne de commande :
for /f %i in ('type C:\texte.txt') do set var=%i
Dans un script :
for /f %%i in ('type C:\texte.txt') do set var=%%i
Ainsi la commande for va chercher le résultat du premier ensemble de caractère (%i) qui s'affiche grace à la commande "type", et va mettre ce résultat dans la variable "var"