Executer une commande venant d'un fichier de données
Fermé
delfel
Messages postés
4
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
24 octobre 2013
-
23 oct. 2013 à 16:44
delfel - 25 oct. 2013 à 20:31
delfel - 25 oct. 2013 à 20:31
A voir également:
- Executer une commande venant d'un fichier de données
- Fichier rar - Guide
- Invite de commande - Guide
- Fichier host - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
7 réponses
dubcek
Messages postés
18728
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
29 mai 2024
5 615
Modifié par dubcek le 24/10/2013 à 09:55
Modifié par dubcek le 24/10/2013 à 09:55
hello
$ awk 'BEGIN {OFS=FS=";"} {$3 | getline $3; print}' fichier
1 2 4 5 ;TRAITEMENT;241013;TRAITEMENT.our;TRAITEMENT.err;
1 3 4 5 ;TRAITEMENT2;2013;TRAITEMENT2.out;TRAITEMENT2.err;
$
$ awk 'BEGIN {OFS=FS=";"} {$3 | getline $3; printf "NOM: %s\nPARA: %s\nSORTIE: %s\nERREUR: %s\n",$2, $3, $4, $5}' fichier
NOM: TRAITEMENT
PARA: 241013
SORTIE: TRAITEMENT.our
ERREUR: TRAITEMENT.err
NOM: TRAITEMENT2
PARA: 2013
SORTIE: TRAITEMENT2.out
ERREUR: TRAITEMENT2.err
$
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
23 oct. 2013 à 19:10
23 oct. 2013 à 19:10
Salut,
c'est quelque chose comme ça que tu veux faire ?
c'est quelque chose comme ça que tu veux faire ?
#!/bin/bash
datas=("5 janvier 2014" "date +%d/%m/%Y" "03/11/2013")
for current in "${datas[@]}"
do
if $(echo $current | grep %)
then
datas[$n]=$($current)
fi
n=$[$n+1]
done
echo "${datas[@]}"
delfel
Messages postés
4
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
24 octobre 2013
24 oct. 2013 à 08:23
24 oct. 2013 à 08:23
Bonjour Flachy Joe
en faite mon fichier de données ressemble a ça (sachant que dans l'avenir on ne devra rien toucher de ce fichier)
1 2 4 5 ;TRAITEMENT;date +%d%m%y;TRAITEMENT.our;TRAITEMENT.err;
1 3 4 5 ;TRAITEMENT2;date +%Y;TRAITEMENT2.out;TRAITEMENT2.err;
........
il fera environ 25 lignes avec 10 arguments chacune
j'ai mon Shell qui me permet la récupération et la découpe des données pour faire un nouveau fichier de données qui lui ressemble a ça
NOM : TRAITEMENT
PARA : 24/10/2013
SORTIE : TRAITEMENT.out
ERREUR : TRAITEMENT.err
actuellement je récupère le champs tel qu'il est dans mon fichier de donnée 1er, je sais pas comment je pourrais le convertir en date ou année
chaque ligne peu avoir 1 paramètre ou plusieurs paramètre et pas forcement des dates
merci
en faite mon fichier de données ressemble a ça (sachant que dans l'avenir on ne devra rien toucher de ce fichier)
1 2 4 5 ;TRAITEMENT;date +%d%m%y;TRAITEMENT.our;TRAITEMENT.err;
1 3 4 5 ;TRAITEMENT2;date +%Y;TRAITEMENT2.out;TRAITEMENT2.err;
........
il fera environ 25 lignes avec 10 arguments chacune
j'ai mon Shell qui me permet la récupération et la découpe des données pour faire un nouveau fichier de données qui lui ressemble a ça
NOM : TRAITEMENT
PARA : 24/10/2013
SORTIE : TRAITEMENT.out
ERREUR : TRAITEMENT.err
actuellement je récupère le champs tel qu'il est dans mon fichier de donnée 1er, je sais pas comment je pourrais le convertir en date ou année
chaque ligne peu avoir 1 paramètre ou plusieurs paramètre et pas forcement des dates
merci
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 412
24 oct. 2013 à 09:48
24 oct. 2013 à 09:48
Salut,
$ cat plop
1 2 4 5 ;TRAITEMENT;date +%d/%m/%y;TRAITEMENT.our;TRAITEMENT.err;
1 3 4 5 ;TRAITEMENT2;date +%Y;TRAITEMENT2.out;TRAITEMENT2.err;
1 4 4 5 ;TRAITEMENT2;;TRAITEMENT2.out;TRAITEMENT2.err;
$ cat foo.sh
#! /bin/bash
while read line
do
var=$(grep -o 'date[^;]*' <<<${line})
sed 's#date[^;]*#'"$(${var})"'#' <<<"${line}"
done < plop
$ ./foo.sh
1 2 4 5 ;TRAITEMENT;24/10/13;TRAITEMENT.our;TRAITEMENT.err;
1 3 4 5 ;TRAITEMENT2;2013;TRAITEMENT2.out;TRAITEMENT2.err;
1 4 4 5 ;TRAITEMENT2;;TRAITEMENT2.out;TRAITEMENT2.err;
$
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
delfel
Messages postés
4
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
24 octobre 2013
24 oct. 2013 à 09:58
24 oct. 2013 à 09:58
merci beaucoup
je vais tester dans la journée
mais encore merci
je vais tester dans la journée
mais encore merci
delfel
Messages postés
4
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
24 octobre 2013
24 oct. 2013 à 12:13
24 oct. 2013 à 12:13
ça fonctionne super bien quant j'ai qu'un date par ligne mais pas quant j'en ai 2
dubcek
Messages postés
18728
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
29 mai 2024
5 615
24 oct. 2013 à 14:31
24 oct. 2013 à 14:31
montre un exemple de donnée avec 2 date