En cours Shells avec redirection d'entrées sortie

Postez ici vos scripts Bash, Python, etc.
Répondre
falke
Messages : 595
Enregistré le : mar. 3 oct. 2017 21:28

Shells avec redirection d'entrées sortie

Message par falke »

Bonjour,

bon voilà une question que je n'ai pas creusée depuis des années (j'ai un peu honte :roll: )

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

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Shells avec redirection d'entrées sortie

Message par cyrille »

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

Code : Tout sélectionner

echo "motif" | xargs -I '{}' sed -i 's/{}/remplacement/g' fichier.txt
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

falke
Messages : 595
Enregistré le : mar. 3 oct. 2017 21:28

Re: Shells avec redirection d'entrées sortie

Message par falke »

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

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Shells avec redirection d'entrées sortie

Message par cyrille »

tu peux poster ton script ?
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

falke
Messages : 595
Enregistré le : mar. 3 oct. 2017 21:28

Re: Shells avec redirection d'entrées sortie

Message par falke »

cyrille a écrit :
sam. 10 avr. 2021 19:13
tu peux poster ton script ?
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 ..

Répondre