Ecrire tableau de plusieurs fichiers dans un
Boylan
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterais créer un fichier qui rejoint tout les tableaux que j'ai dans plusieurs autre fichier. Je m'explique avec un exemple:
J'ai plusieurs fichier de ce style (en plus long bien sur):
fichier1.txt:
1 0.2316 0.003645
2 3.2126 0.000896
3 2.6589 0.003784
fichier2.txt:
9 2.3654 0.001478
18 6.3112 0.014253
27 1.2658 0.014296
Je voudrais en résultat:
1 0.2316 0.003645 9 2.3654 0.001478
2 3.2126 0.000896 18 6.3112 0.014253
3 2.6589 0.003784 27 1.2658 0.014296
J'essaie de faire ça avec UNIX, avec les commandes style sed et compagnie mais je n'y arrive pas. Je sais que c'est possible de tout mettre a la suite très facilement mais je préfererais avoir un résultat en colonne histoire de passer le fichier dans excel après.
Merci,
Je souhaiterais créer un fichier qui rejoint tout les tableaux que j'ai dans plusieurs autre fichier. Je m'explique avec un exemple:
J'ai plusieurs fichier de ce style (en plus long bien sur):
fichier1.txt:
1 0.2316 0.003645
2 3.2126 0.000896
3 2.6589 0.003784
fichier2.txt:
9 2.3654 0.001478
18 6.3112 0.014253
27 1.2658 0.014296
Je voudrais en résultat:
1 0.2316 0.003645 9 2.3654 0.001478
2 3.2126 0.000896 18 6.3112 0.014253
3 2.6589 0.003784 27 1.2658 0.014296
J'essaie de faire ça avec UNIX, avec les commandes style sed et compagnie mais je n'y arrive pas. Je sais que c'est possible de tout mettre a la suite très facilement mais je préfererais avoir un résultat en colonne histoire de passer le fichier dans excel après.
Merci,
A voir également:
- Ecrire tableau de plusieurs fichiers dans un
- Tableau word - Guide
- Trier un tableau excel - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Renommer plusieurs fichiers en même temps - Guide
2 réponses
J'ai écrit ça, ça m'aide mais qu'est-ce que c'est lent!!!
Et pour 3000 lignes en plus !!! Sachant que je vais avoir probablement plus de 5 fichiers a traiter et ptetre des fichiers ayant plus de ligne. Bref, help !
NOUT=$1.txt
rm $NOUT
touch $NOUT
class=3000/result_c.light.$NOUT
str3=strat3/result_s.light.$NOUT
str5=strat5/result_s.light.$NOUT
str7=strat7/result_s.light.$NOUT
str9=strat9/result_s.light.$NOUT
i=1
while test $i -le 3000
do
echo $i
line1='head -$i $class | tail -1'
line2='head -$i $str3 | tail -1'
line3='head -$i $str5 | tail -1'
line4='head -$i $str7 | tail -1'
line5='head -$i $str9 | tail -1'
echo $line1 $line2 $line3 $line4 $line5 >> $NOUT
i=$(($i + 1))
done
tr -d "\r" < $NOUT > fich.tmp
mv -f fich.tmp $NOUT
Et pour 3000 lignes en plus !!! Sachant que je vais avoir probablement plus de 5 fichiers a traiter et ptetre des fichiers ayant plus de ligne. Bref, help !
NOUT=$1.txt
rm $NOUT
touch $NOUT
class=3000/result_c.light.$NOUT
str3=strat3/result_s.light.$NOUT
str5=strat5/result_s.light.$NOUT
str7=strat7/result_s.light.$NOUT
str9=strat9/result_s.light.$NOUT
i=1
while test $i -le 3000
do
echo $i
line1='head -$i $class | tail -1'
line2='head -$i $str3 | tail -1'
line3='head -$i $str5 | tail -1'
line4='head -$i $str7 | tail -1'
line5='head -$i $str9 | tail -1'
echo $line1 $line2 $line3 $line4 $line5 >> $NOUT
i=$(($i + 1))
done
tr -d "\r" < $NOUT > fich.tmp
mv -f fich.tmp $NOUT
Avec Unix et ses outils, ça devrais le faire assez facilement.
https://forums.commentcamarche.net/forum/affich-1360738-bash-recuperer-une-ligne-particuliere
pour récupérer une boucle particulière
http://unixhelp.ed.ac.uk/CGI/man-cgi?wc
pour connaitre le nombre de ligne dans chaque fichier
Ensuite, une boucle for et un echo $filea $fileb>>resu
devrais donner ce qu'il faut.
https://forums.commentcamarche.net/forum/affich-1360738-bash-recuperer-une-ligne-particuliere
pour récupérer une boucle particulière
http://unixhelp.ed.ac.uk/CGI/man-cgi?wc
pour connaitre le nombre de ligne dans chaque fichier
Ensuite, une boucle for et un echo $filea $fileb>>resu
devrais donner ce qu'il faut.
J'ai trouvé ce que je cherchais :
https://tldp.org/LDP/abs/html/internal.html#READREDIR
En utilisant "read" tu dois pouvoir faire quelque chose de pas mal.
Ou plus moche :
sdiff file1 file 2> resu.txt (reste à supprimer les caractères inutiles de sdiff)
https://tldp.org/LDP/abs/html/internal.html#READREDIR
En utilisant "read" tu dois pouvoir faire quelque chose de pas mal.
Ou plus moche :
sdiff file1 file 2> resu.txt (reste à supprimer les caractères inutiles de sdiff)