Bonjour,
Est il possible d'agir (en modfication) directement su un fichier en entrée avec la commande awk.
Si oui qq'un peut me dire comment ?
Merci
Bonjour,
Est il possible d'agir (en modfication) directement su un fichier en entrée avec la commande awk.
Si oui qq'un peut me dire comment ?
Merci
bonjour delphine_lep,
tu fait un man awk et tu verra que awk ne sait pas remplacer une occurence.
(du moins j'ai pas trouvé)
Si tu fais ca :
Le fichier est ouvert en écriture avant d'exécuter le programme, donc le fichier est vide quand le programme awk est exécuté.... et le fichier reste vide ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk '{print $2}' foo.txt > foo.txt
Mais awk peut lire ses données sur l'entrée standard:
Et là, c'est ok
Code : Sélectionner tout - Visualiser dans une fenêtre à part cat foo.txt | awk '{print $2}' > foo.txt![]()
Bonjour,
J'ai essayé mais je n'ai pas réussi à exécuter la commande
cat foo.txt | awk '{print $2}' > foo.txt
ne focntionne pas
Sans rien changer :
.... Y'a quoi dans ton fichier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 romain@romain /tmp> cat foo.txt 18:23 1 2 3 4 5 6 7 8 9 romain@romain /tmp> cat foo.txt | awk '{print $2}' > foo.txt 18:23 romain@romain /tmp> cat foo.txt 18:23 2 5 8 romain@romain /tmp>
oups !!! Désolé
Ayant l'esprit plus clair ce matin , j'ai réessayé et effectivement ca marche mieux !!!
Merci
Je ne sais pas quel environnement est utilisé pour faire ca mais chez moi en bon vieux bourne shell (le classique linux de base) clairement ligne pour ligne et mot pour mot cette methode ne marche pas...
Partager