Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

terminal - enregistrer dans le meme fichier

24 réponses
Avatar
JeangabrielLopez
Bonjour,
J'essaie de faire une commande pour
modifier tous les fichiers "e;.txt"e; d'un repertoire afin de passer de l'UFT-8 au mac roman
Je sais faire une commande qui mets le résultat dans un nouveau fichier texte ( en terminant par " > nouveaufichier.txt" ) mais je voudrais que les fichiers modifiés gardent le meme nom

Quelqu'un peut m'aider? Merci !!

iconv -f UTF-8 -t MACROMAN /Users/satellite/Desktop/Projet fiches/TEST/*.txt

10 réponses

1 2 3
Avatar
josephb
Bonjour,
JeangabrielLopez wrote:
Je sais faire une commande qui mets le résultat dans un nouveau fichier
texte (> en terminant par " > nouveaufichier.txt" ) mais je voudrais
que les fichiers > modifiés gardent le meme nom

la redirection ">" sur le fichier source va écraser son contenu et le
nom sera conservé.
Je procède comme cela régulièrement pour réécrire en bloc des fichiers
de préférence à chaque opération de mise à jour, plutôt que d'éditer
ligne par ligne uniquement celles modifiées.
Bien sûr faites des tests sur des copies avant de traiter vos originaux
;-)
--
J. B.
Avatar
pehache
Le 09/05/2020 à 15:30, JeangabrielLopez a écrit :
Bonjour,
J'essaie de faire une commande pour
modifier tous les fichiers "e;.txt"e; d'un repertoire afin de passer de l'UFT-8
au mac roman
Je sais faire une commande qui mets le résultat dans un nouveau fichier texte (
en terminant par " > nouveaufichier.txt" ) mais je voudrais que les fichiers
modifiés gardent le meme nom
Quelqu'un peut m'aider? Merci !!
iconv -f UTF-8 -t MACROMAN /Users/satellite/Desktop/Projet fiches/TEST/*.txt

Tu écris dans un fichier temporaire et tu le renommes après coup. Il
existe d'autres méthodes, mais est-ce que ça vaut la peine de s'embêter ?
--
- "...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes." (ST sur fr.bio.medecine)
- "Je suis ATARIste, et j'ai bien l'intention que l'on me respecte ici."
(FLC sur fr.comp.sys.atari)
Avatar
pehache
Le 09/05/2020 à 15:52, Joseph-B a écrit :
Bonjour,
JeangabrielLopez wrote:
Je sais faire une commande qui mets le résultat dans un nouveau fichier
texte (> en terminant par " > nouveaufichier.txt" ) mais je voudrais
que les fichiers > modifiés gardent le meme nom

la redirection ">" sur le fichier source va écraser son contenu et le
nom sera conservé.
Je procède comme cela régulièrement pour réécrire en bloc des fichiers
de préférence à chaque opération de mise à jour, plutôt que d'éditer
ligne par ligne uniquement celles modifiées.

Mouais, tu es sûr de ton coup, là ?
A moins que la commande utilisée le prévoit explicitement, écrire dans
le fichier d'entrée est à ma connaissance proscrit. Ca peut marcher,
sans qu'il y ait rien de garanti (et pire ça peut marcher et donner
l'impression que c'est une méthode fiable, jusqu'au jour où en changeant
de contexte ou d'environnement on se rend compte (trop tard) que ça fait
n'importe quoi.
La façon fiable de procéder c'est de passer par un fichier temporaire.
--
- "...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes." (ST sur fr.bio.medecine)
- "Je suis ATARIste, et j'ai bien l'intention que l'on me respecte ici."
(FLC sur fr.comp.sys.atari)
Avatar
josephb
pehache wrote:
Mouais, tu es sûr de ton coup, là ?
A moins que la commande utilisée le prévoit explicitement, écrire dans
le fichier d'entrée est à ma connaissance proscrit.

je mets l'original dans une variable par /cat/, j'y modifie ce qu'il
faut et j'écrase l'original par le contenu de la variable avec />/
La façon fiable de procéder c'est de passer par un fichier temporaire.

C'est une méthode aussi
--
J. B.
Avatar
pehache
Le 09/05/2020 à 17:39, Joseph-B a écrit :
pehache wrote:
Mouais, tu es sûr de ton coup, là ?
A moins que la commande utilisée le prévoit explicitement, écrire dans
le fichier d'entrée est à ma connaissance proscrit.

je mets l'original dans une variable par /cat/, j'y modifie ce qu'il
faut et j'écrase l'original par le contenu de la variable avec />/

Ce que tu fais et surtout comment tu le fais n'est pas très clair, il
faudrait le détailler
Normalement il ne faut pas faire ce genre de chose :
iconv [options] toto.txt > toto.txt
La façon fiable de procéder c'est de passer par un fichier temporaire.

C'est une méthode aussi

--
- "...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes." (ST sur fr.bio.medecine)
- "Je suis ATARIste, et j'ai bien l'intention que l'on me respecte ici."
(FLC sur fr.comp.sys.atari)
Avatar
josephb
pehache wrote:
Ce que tu fais et surtout comment tu le fais n'est pas très clair, il
faudrait le détailler

Ce que je fais, c'est d'utiliser des commandes shell dans des scripts
Applescript et ce que je décrivais marche sans m'avoir jamais créé de
souci depuis des années.
Normalement il ne faut pas faire ce genre de chose :
iconv [options] toto.txt > toto.txt

Là, il y a toutes les chances que le fichier toto se retrouve vide à
l'exécution de la commande.
J'avoue que je serais bien embêté de le faire directement dans le
Terminal
--
J. B.
Avatar
pehache
Le 10/05/2020 à 01:28, Joseph-B a écrit :
pehache wrote:
Ce que tu fais et surtout comment tu le fais n'est pas très clair, il
faudrait le détailler

Ce que je fais, c'est d'utiliser des commandes shell dans des scripts
Applescript et ce que je décrivais marche sans m'avoir jamais créé de
souci depuis des années.

On ne sait toujours exactement ce que tu fais et si ça a un rapport avec
le demande originale... Lire un fichier d'entrée puis réécrire dans le
même fichier ne pose pas forcément de problème, mais le faire avec des
redirections unix, si.
Normalement il ne faut pas faire ce genre de chose :
iconv [options] toto.txt > toto.txt

Là, il y a toutes les chances que le fichier toto se retrouve vide à
l'exécution de la commande.

Bah oui mais c'est un peu le contexte de la demande.
--
- "...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes." (ST sur fr.bio.medecine)
- "Je suis ATARIste, et j'ai bien l'intention que l'on me respecte ici."
(FLC sur fr.comp.sys.atari)
Avatar
M.V.
Le 10 mai 2020 à 09 h 51, pehache a pris le temps d'écrire :
On ne sait toujours exactement ce que tu fais

"On" ?
Perso j'ai parfaitement compris de quoi parlait Joseph-B sans doute
parce que j'utilise des scripts AS faisant intervenir ce qu'il a
expliqué (mais je reconnais que ce doit être obscur pour quelqu'un qui
n'est pas familier d'AS).
--
Michel VAUQUOIS - <http://michelvauquois.fr>
Avatar
M.V.
Le 10 mai 2020 à 10 h 39, M.V. a pris le temps d'écrire :
Perso j'ai parfaitement compris de quoi parlait Joseph-B sans doute
parce que j'utilise des scripts AS faisant intervenir ce qu'il a
expliqué

Voir par exemple :
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
From: M.V.
Subject: Re: [RCH] Utilitaire de surveillance réseau
Message-ID: <news:r6556g$270$
Date: Thu, 2 Apr 2020 16:51:28 -0000 (UTC)
Newsgroups: fr.comp.sys.mac.communication
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
dans lequel figure un tel procédé.
--
Michel VAUQUOIS - <http://michelvauquois.fr>
Avatar
pehache
Le 10/05/2020 à 10:39, M.V. a écrit :
Le 10 mai 2020 à 09 h 51, pehache a pris le temps d'écrire :
On ne sait toujours exactement ce que tu fais

"On" ?
Perso j'ai parfaitement compris de quoi parlait Joseph-B sans doute
parce que j'utilise des scripts AS faisant intervenir ce qu'il a
expliqué (mais je reconnais que ce doit être obscur pour quelqu'un qui
n'est pas familier d'AS).

C'est surtout obscur pour quelqu'un qui n'a pas lu les scripts de J-B.
Je suis censé parcourir tous les messages de J-B sur fcom-ox pour
trouver un exemple ? Ce ne serait pas plus simple qu'il poste un exemple
de ce qu'il veut dire ?
La programmation c'est plus de 50% de mon activité professionnelle
depuis 25 ans, et utiliser un fichier à la fois en entrée et en sortie
je sais faire, merci, tu ne m'apprends rien. Mais la question n'est pas
là, la question d'origine porte sur la façon de le faire avec des
redirections unix : la réponse est à ma connaissance qu'on ne peut pas.
--
- "...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes." (ST sur fr.bio.medecine)
- "Je suis ATARIste, et j'ai bien l'intention que l'on me respecte ici."
(FLC sur fr.comp.sys.atari)
1 2 3