sort 2 file

Szeretnék rorba rendezni bash-ben szám szerint két file tartalmát, de úgy, hogy ha vannak egyforma elemek mindkét file-ban, akkor a meghatározott file adott tartalmát tegye előrébb. Ez utóbbit valahogy nem sikerül megoldanom úgy, hogy ne adjak plusz adatot a file-ok tartalmához.
Esteleg valaki talált már megoldást erre?

Hozzászólások

Elvileg GNU sort-ban avyg egy -s (stable) opció, ami azt jelenti, hogy (összehasonlítás szerint) egyenlő értékek sorrendjén ne változtasson. Eszerint ha mondjuk file1 és file2 van, ahol file1 a priorításos, akkor megpróbálhatnád azt, hogy:

cp file1 sorted
cat file2 >>sorted
sort -s [egyéb opciók] sorted

Így elvileg a két fájl egybe lesz rendezve, de ha azonos érték sor van bennük, akkor a file1-é fog előbb jönni, mivel a sorted fájlban is az volt előbb.

Válaszoltam a kérdésedre? Vagy másra gondoltál? Mert nem volt teljesen egyértelmű, hogy ez-e a probléma.

file1
1;a
2;a
3;a
20;a
21;a
30;a
...

file2
1;b
2;b
13;b
14;b
15;b
36;b
...

valahogy így öszze vissza vannak egyik és másik file-ban. kb 300 ezer sor
a és b csak jelképes érték, valságban a két file nem tartalmaz megkülönbötethető paramétert, ami segítene a sorrendben

ezt a két file-t szeretnén sorba rakni, de minden esetben úgy, ha van közös elem, ami itt az első mező (; a szeparátor), akkor az file1 eleme megelőzze a file2 adatát, azaz
1;a
1;b
2;a
3;a
3;b
4;b
.....
valahogy így
olyan ne legyen hogy
1;b
1;a
2;a
2;b

erre a sima sort -t; -k1 -n file1 file2 nem ad egyértelmű megoldást