Bonjour,
bon voilà une question que je n'ai pas creusée depuis des années (j'ai un peu honte )
il s'agit des shell avec redirection d'entrée et de sortie :
ça je connnais :
grep "machin" nom_fichier > ligne_machin_dans fichier.txt
ou encore
grep "motif" < ligne_machin_dans_fichier.txt (sert à rien cat le fait très bien tout seul, c'est pour l'exple.
En fait dans des scripts au lieu de faire des fichiers temporaire de sortie sur lesquels je retravaille ensuite, j'aimerais passer mes sorties dans un pipe qui soit lu pour faire une autre tache , mais je crois je m'embrouille exple concret
je veux faire un sed avec un subsitution de caractère sur un fichier PUIS à partir de ce résultat faire autre chose et le diriger dans le fichier final qui a le même nom , mais j'ai l'impression , que ça ne peut pas fonctionner (le fichier ne peut pas être à la fois en lecture/modif et en écriture pour une autre tâche.
je me suis même demandé s'il ne me faudrait pas un tube nommé pour ça, encore que j'ai l'impression qu'il me faut passer par un fichier intermédiaire.
Voilà , je sais pas si je me fais comprendre...
Donc mon but, travailler en mémoire et éviter les fichiers intermédiaires qu'il faut nettoyer après..
Shells avec redirection d'entrées sortie
Shells avec redirection d'entrées sortie
System:
Host: falke-MacBookAir Kernel: 5.15.0-91-generic x86_64 bits: 64
Desktop: Cinnamon 6.0.4 Distro: Linux Mint 21.3 Virginia
Machine:
Type: Laptop System: Apple product: MacBookAir7,2 v: 1.0
Autre Distro : Debian Sid et Endeavour en triple boot sur Btrfs. Noyau change tout le temps ..
Host: falke-MacBookAir Kernel: 5.15.0-91-generic x86_64 bits: 64
Desktop: Cinnamon 6.0.4 Distro: Linux Mint 21.3 Virginia
Machine:
Type: Laptop System: Apple product: MacBookAir7,2 v: 1.0
Autre Distro : Debian Sid et Endeavour en triple boot sur Btrfs. Noyau change tout le temps ..
- cyrille
- Administrateur du site
- Messages : 12441
- Enregistré le : mar. 19 sept. 2017 08:49
- Localisation : Nowhere
- Contact :
Re: Shells avec redirection d'entrées sortie
Slt
xargs est fait pour cela (entre autres)
https://cbiot.fr/dokuwiki/xargs
Ensuite faudrait un exemple concret de ce que tu attends et comment tu t'y es déjà pris
et un peu de lecture : https://www.cyberciti.biz/faq/redirecti ... to-stdout/
Exemple de sed / xargs
xargs est fait pour cela (entre autres)
https://cbiot.fr/dokuwiki/xargs
Ensuite faudrait un exemple concret de ce que tu attends et comment tu t'y es déjà pris
et un peu de lecture : https://www.cyberciti.biz/faq/redirecti ... to-stdout/
Exemple de sed / xargs
Code : Tout sélectionner
echo "motif" | xargs -I '{}' sed -i 's/{}/remplacement/g' fichier.txt
Re: Shells avec redirection d'entrées sortie
Salut,
oui xargs j'utilise, mais peu être trop peu.. je vais lire ces docs.
en fait en gros , je retravaille un fichier (sed) puis j'en fais un tri (sort) dans cet ordre là c'est important (car je ne peux pas préjuger du résultat avant le sort, ça dépend d'un motif aléatoire), puis ça va dans mon fichier de sortie, que j'aimerais appeler comme le fichier d'entrée pour éviter la création lourde et fastidieuse de fichiers temporaire (du moins , une fois testée la sortie dans les fichiers intermédiaire, j'aimerais améliorer la clarté du script en me passant de ceux-ci)
oui xargs j'utilise, mais peu être trop peu.. je vais lire ces docs.
en fait en gros , je retravaille un fichier (sed) puis j'en fais un tri (sort) dans cet ordre là c'est important (car je ne peux pas préjuger du résultat avant le sort, ça dépend d'un motif aléatoire), puis ça va dans mon fichier de sortie, que j'aimerais appeler comme le fichier d'entrée pour éviter la création lourde et fastidieuse de fichiers temporaire (du moins , une fois testée la sortie dans les fichiers intermédiaire, j'aimerais améliorer la clarté du script en me passant de ceux-ci)
Modifié en dernier par falke le sam. 10 avr. 2021 19:13, modifié 1 fois.
System:
Host: falke-MacBookAir Kernel: 5.15.0-91-generic x86_64 bits: 64
Desktop: Cinnamon 6.0.4 Distro: Linux Mint 21.3 Virginia
Machine:
Type: Laptop System: Apple product: MacBookAir7,2 v: 1.0
Autre Distro : Debian Sid et Endeavour en triple boot sur Btrfs. Noyau change tout le temps ..
Host: falke-MacBookAir Kernel: 5.15.0-91-generic x86_64 bits: 64
Desktop: Cinnamon 6.0.4 Distro: Linux Mint 21.3 Virginia
Machine:
Type: Laptop System: Apple product: MacBookAir7,2 v: 1.0
Autre Distro : Debian Sid et Endeavour en triple boot sur Btrfs. Noyau change tout le temps ..
- cyrille
- Administrateur du site
- Messages : 12441
- Enregistré le : mar. 19 sept. 2017 08:49
- Localisation : Nowhere
- Contact :
Re: Shells avec redirection d'entrées sortie
tu peux poster ton script ?
Re: Shells avec redirection d'entrées sortie
c'est pour le boulot, donc pour des raisons de confidentialité, j'en donnerais que l'esprit en adaptant avec un exple bidon. Je reprends jeudi.
D'ici là où je m'en souviens, ou je donne plus de détails jeudi.
Je mets le statut "en cours"
System:
Host: falke-MacBookAir Kernel: 5.15.0-91-generic x86_64 bits: 64
Desktop: Cinnamon 6.0.4 Distro: Linux Mint 21.3 Virginia
Machine:
Type: Laptop System: Apple product: MacBookAir7,2 v: 1.0
Autre Distro : Debian Sid et Endeavour en triple boot sur Btrfs. Noyau change tout le temps ..
Host: falke-MacBookAir Kernel: 5.15.0-91-generic x86_64 bits: 64
Desktop: Cinnamon 6.0.4 Distro: Linux Mint 21.3 Virginia
Machine:
Type: Laptop System: Apple product: MacBookAir7,2 v: 1.0
Autre Distro : Debian Sid et Endeavour en triple boot sur Btrfs. Noyau change tout le temps ..