Mise en forme d'une variable avec un fichier
stephbret56
Messages postés
186
Date d'inscription
Statut
Membre
Dernière intervention
-
stephbret56 Messages postés 186 Date d'inscription Statut Membre Dernière intervention -
stephbret56 Messages postés 186 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis à la recherche d’une façon de générée une variable à partir d’un fichier et de supprimer du fichier ce numéro qui et charger dans la variable je vous laisse le contenu du fichier :
Le fichier toto:
1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
Ce que je veux comme résultat:
Contenu de la variable:
num=1
Le fichier toto après chargement de la variable:
18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
Merci d’avance pour vos solutions
Je suis à la recherche d’une façon de générée une variable à partir d’un fichier et de supprimer du fichier ce numéro qui et charger dans la variable je vous laisse le contenu du fichier :
Le fichier toto:
1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
Ce que je veux comme résultat:
Contenu de la variable:
num=1
Le fichier toto après chargement de la variable:
18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
Merci d’avance pour vos solutions
A voir également:
- Mise en forme d'une variable avec un fichier
- Mise en forme conditionnelle excel - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
15 réponses
Non je ne pense pas tu n'a pas une petite idée j'aimerai intégrer la solution dans un script shell unix.
A+
A+
mais si tu postes dans la section unix/linux tu vas t'adresser à des utilisateurs de linux ou unix par forcément des programmeurs , alors que peut être que dans le section programmation même si tu ne t'adresses pas à des "pro" unix/linux peut être que quelqu'un verra des ressemblance avec ce qu'il fait en dev.
Enfin bon je donnais mon avis ;-)
Enfin bon je donnais mon avis ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
lami20j@debserv:~$ cat toto
1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
lami20j@debserv:~$ num=$(grep -Eo '(^|\b)1\b' toto);sed -i.orig 's/'$num' //' toto
lami20j@debserv:~$ cat toto
18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
lami20j@debserv:~$ echo $num
1
lami20j@debserv:~$ cat toto.orig
1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
lami20j@debserv:~$
Salut,
Moi j'avais ça :
Moi j'avais ça :
[tmpfs]$ cat plop 1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705 [tmpfs]$ var="1" [tmpfs]$ sed "s/\b$var \b//" plop 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705 [tmpfs]$ cat plop 1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705 [tmpfs]$ var="1071" [tmpfs]$ sed "s/\b$var \b//" plop 1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705 [tmpfs]$;-))
Bonjour,
J'ai fait le test suivant comme indiqué par contre j'ai le message suivant?
la commande:
num=$(grep -Eo '(^|\b)1\b' toto);sed -i.orig 's/'$num' //' toto
grep: illegal option -- E
grep: illegal option -- o
Usage: grep -hblcnsviw pattern file . . .
sed: illegal option -- i
J'ai fait le test suivant comme indiqué par contre j'ai le message suivant?
la commande:
num=$(grep -Eo '(^|\b)1\b' toto);sed -i.orig 's/'$num' //' toto
grep: illegal option -- E
grep: illegal option -- o
Usage: grep -hblcnsviw pattern file . . .
sed: illegal option -- i
Comment puis je voir la version du sed?
Unix sunos 5.8
Unix sunos 5.8
Comment puis je voir la version du sed?
C'est marqué dans mon post précédent !
sed --version
Sinon, comme dis précédemment, tu n'as pas besoin de "grep", juste de "sed", comme ci-dessous :
C'est marqué dans mon post précédent !
sed --version
Sinon, comme dis précédemment, tu n'as pas besoin de "grep", juste de "sed", comme ci-dessous :
num=1; sed "s/\b$num \b//" fichierSi les chiffres recherchés sont uniques dans le fichier et si la suite de chiffres dans ledit fichier est croissante, tu n'as pas besoin des "\b" dans l'expression :
num=1; sed "s/$num //" fichier:-))
Merci je n'avais pas compris le mécanisme des sed's j'ai fait le test et ca marche a merveille merci beaucoup c’est hyper sympas.
Bonne journée à tous.
Bonne journée à tous.
Re-moi je reviens vers vous car j'ai encore un ptit couac je ne sais toujours pas charger la variable automatiquement à partir du fichier qui contient les champs suivants :
1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
J’ai suivi vos conseilles mais dans votre exemple la variable num et chargé apriori manuellement et moi je recherche une astuce pour faire le chargement automatiquement????
Comment faire?
Le résultat doit être égal :
1er passage num=1 <===chargement automatique par une commande que je connais pas pour le moment
Puis on supprime le 1 du fichier
2éme passage num=18 en auto
Puis on supprime le 18 du fichier
3éme passage num=44 .....etc
Puis on supprime le 44 du fichier
Merci d'avance.
1 18 44 103 164 224 285 345 404 465 524 584 643 704 765 824 884 914 936 975 1035 1071 1131 1191 1252 1312 1372 1433 1493 1553 1613 1673 1733 1793 1853 1913 1972 2033 2092 2152 2212 2272 2287 2304 2366 2388 2410 2439 2463 2523 2584 2645 2705
J’ai suivi vos conseilles mais dans votre exemple la variable num et chargé apriori manuellement et moi je recherche une astuce pour faire le chargement automatiquement????
Comment faire?
Le résultat doit être égal :
1er passage num=1 <===chargement automatique par une commande que je connais pas pour le moment
Puis on supprime le 1 du fichier
2éme passage num=18 en auto
Puis on supprime le 18 du fichier
3éme passage num=44 .....etc
Puis on supprime le 44 du fichier
Merci d'avance.
Re-
Le but final c'est quoi ?
Parce que si c'est pour passer chaque champ un par un du fichier et les supprimer, autant effacer le fichier, non ?
Donc donnes davantage de détails sur la finalité des tenants et des aboutissants...
C'est le même fichier ?
;-))
Le but final c'est quoi ?
Parce que si c'est pour passer chaque champ un par un du fichier et les supprimer, autant effacer le fichier, non ?
Donc donnes davantage de détails sur la finalité des tenants et des aboutissants...
C'est le même fichier ?
;-))
Oui c'est toujours le même fichier
Non le fichier ne doit pas être effacé d'un coup le but c'est de le faire un par un.
j'ai besoin d'une seule information c'est comment charger cette variable?
Non le fichier ne doit pas être effacé d'un coup le but c'est de le faire un par un.
j'ai besoin d'une seule information c'est comment charger cette variable?