Bonjour a tous,
je cherche un moyen pour fusioner et comparer deux fichiers, je m'explique:
j'ai un fichier a qui est comme ceci:
1.1 blalba
1.2 re blabla
2.1 de nouveau blabla
2.2 encore blabla
et un fichier b qui est la correction du fichier a mais sans le 1.1, 1.2, etc.
je voudrais donc pouvoir fusionner les deux en ne gardant que le markup 1.1, etc et en remplacant le reste par ce qui est dans le fichier b (un peu comme la fonction compare de word).

merci
hello,

je ne suis pas un fou du script, mais tu peux chercher du côté de awk. de ce que j'en ai compris, tu lis un fichier ligne par ligne et tu travailles sur les colonnnes, désignées par $1 $2 etc.

dans mon cas, j'avais plusieurs fichiers .csv que je voulais fusionner en un seul, en virant quelques lignes (qui correspondant à l'entête avec les intitulés des colonnes ; dans le fichier récapitulatif je ne voulais pas avoir ces entêtes 15 fois...).

J'espère que j'ai été utile, quoi qu'il en soit il doit y avoir 2000 manières de faire ce que tu veux 😉
#!/bin/zsh
# this script takes a csv file, add a descriptive first line, add the time in the first column, and delete lines containing a specific pattern
# 2013/04/08 - Edouard

# In ImageJ, if processing data by hand, set format to .csv ; otherwise thoses data will not be processed (cf "," vs " " field separator).

# define time
declare -i time
time=4

cat *.csv > truc.csv


awk -v VAR=${time} 'BEGIN {
        FS=",";
        OFS=",";
        print "time", "Area", "Circ.", "AR", "Round", "Solidity" > "temp"
    }
    {if ($2 !="Area")
        print VAR,  $2, $3, $4, $5, $6 > "temp" }' truc.csv

mv temp truc.csv
Bon en premier ce n'est ni comparer ni fusionner mais concaténer 2 fichiers ce que décris.

Alors tu as la fonction join qui te rendra service et si la fonction ne convient pas après tu peux utiliser sed du genre sed 's/$/'`cat fichier1`' /' fichier2 > fichier3 ou awk.
Tu peux utiliser un comparateur de fichiers pour ceci. Meld est très bien pour ça.
yum install meld