#1 Le 05/09/2023, à 07:48
- viviane2023
[Résolu] Awk extraction de colonne pour plusieurs fichiers
Bonjour,
je voudrais que mon script awk extrait des colonnes de plusieurs fichiers .csv (donnees1.csv, donnees2.csv, donnees3.csv...) et crée pour chaque fichier .csv un fichier résultat (result1.txt, result2.txt, result3.txt...), j'utilise cette ligne de commande
awk 'BEGIN{FS=OFS="\t"} {if ($9<$10) print $1,$2,$3,$4,$9,$10,$11,"1"; else print $1,$2,$3,$4,$9,$10,$11,"2";}' donnees*.csv > result*.txt
mais celle-ci crée un seul fichier result1.txt avec tout les résultats
J'ai besoin d'aide
Dernière modification par viviane2023 (Le 06/09/2023, à 07:16)
Hors ligne
#2 Le 05/09/2023, à 09:01
- MicP
Re : [Résolu] Awk extraction de colonne pour plusieurs fichiers
Bonjour
Essaye comme ça :
awk 'BEGIN{FS=OFS="\t"} {nomFich=FILENAME; gsub(/[^0-9]/,"",nomFich); nomFich="result"nomFich".txt"; if ($9<$10) ajout="1"; else ajout="2"; print $1,$2,$3,$4,$9,$10,$11,ajout > nomFich;}' donnees*.csv
Dernière modification par MicP (Le 05/09/2023, à 11:07)
Hors ligne
#3 Le 05/09/2023, à 11:07
- viviane2023
Re : [Résolu] Awk extraction de colonne pour plusieurs fichiers
Super ça marche.
Merci MicP:D
Hors ligne
#4 Le 05/09/2023, à 11:09
- MicP
Re : [Résolu] Awk extraction de colonne pour plusieurs fichiers
Désolé, j'ai modifié la ligne de commande juste au moment où tu postais ton message,
mais bon, c'est sensiblement la même en fait.
Merci pour le retour
Dernière modification par MicP (Le 05/09/2023, à 11:10)
Hors ligne
#5 Le 05/09/2023, à 15:00
- Watael
Re : [Résolu] Awk extraction de colonne pour plusieurs fichiers
celle-ci crée un seul fichier result1.txt
parce que ce fichier est pré-existant, sinon tu aurais une erreur due au développement impossible de result*.txt.
et, en l'état, il ne s'agit pas d'un script awk, mais d'une ligne de commande awk.
un script awk ce serait :
#!/usr/bin/awk -f
BEGIN{
FS=OFS="\t"
}
{
print $1,$2,$3,$4,$9,$10,$11, $9<$10?1:2 >"result"gensub("[^0-9]","","g",FILENAME)".txt"
}
appelé ainsi:
$ ./monScript.awk donnees*.csv
Dernière modification par Watael (Le 05/09/2023, à 15:36)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 06/09/2023, à 07:02
- viviane2023
Re : [Résolu] Awk extraction de colonne pour plusieurs fichiers
Super avec ça j'ai l'embarras du choix.
Au fait comment on fait pour signaler que le problème a été résolu
Hors ligne
#7 Le 06/09/2023, à 07:09
- xubu1957
Re : [Résolu] Awk extraction de colonne pour plusieurs fichiers
Bonjour,
Pour rajouter [Résolu] au début du titre, en éditant ta discussion, il faut utiliser le bouton Modifier au bas de ton premier message.
Merci
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
En ligne
#8 Le 06/09/2023, à 07:10
- MicP
Re : [Résolu] Awk extraction de colonne pour plusieurs fichiers
En éditant ton premier message de ce fil de discussion,
tu verras, en haut dans la fenêtre d'édition, une zone d'édition qui te permetra d'éditer le titre de ce fil
en remplaçant :
Awk extraction de colonne pour plusieurs fichiers
par :
[Résolu] Awk extraction de colonne pour plusieurs fichiers
Dernière modification par MicP (Le 06/09/2023, à 07:13)
Hors ligne