Unix-zapoctova uloha 12

Spojeni tri souboru podle spolecneho prvniho sloupce:

Skript:
#! /bin/sh
join -1 1 -2 1 $1 $2 > mezivysledek.tmp
join -1 1 -2 1 mezivysledek.tmp $3 > vysledek.tmp
rm mezivysledek.tmp

Popis:
#! /bin/sh 
join -1 1 -2 1 $1 $2 > mezivysledek.tmp spoji prvni dva soubory a vystup ulozi do souboru mezivysledek.tmp ($1 oznacuje prvni nacteny soubor)
join -1 1 -2 1 mezivysledek.tmp $3 > vysledek.tmp spoji mezivysledek.tmp s tretim souborem a vystup ulozi do souboru vysledek.tmp
rm mezivysledek.tmp smaze soubor mezivysledek.tmp

Spojeni libovolneho poctu souboru podle spolecneho prvniho sloupce:

Skript:
#! /bin/sh
join -1 1 -2 1 $1 $2 > vysledek.tmp
shift 2
while [ $# -gt 0 ] ; do
 join -1 1 -2 1 vysledek.tmp $1 > mezivysledek.tmp
 rm vysledek.tmp
 mv mezivysledek.tmp vysledek.tmp
 shift
done
mv vysledek.tmp spojenadata.txt

Popis:
#! /bin/sh
join -1 1 -2 1 $1 $2 > vysledek.tmp spoji prvni dva nactene soubory a vystup ulozi do souboru vysledek.tmp
shift 2 smaze prvni dva nactene soubory
while [ $# -gt 0 ] ; do pokud je nynejsi pocet nactenych souboru vetsi nez nula, zacne cyklus
 join -1 1 -2 1 vysledek.tmp $1 > mezivysledek.tmp spoji vysledek.tmp se soucasnym prvnim nactenym souborem a vystup ulozi do souboru mezivysledek.tmp
 rm vysledek.tmp smaze soubor vysledek.tmp
 mv mezivysledek.tmp vysledek.tmp prejmenuje soubor mezivysledek.tmp na vysledek.tmp
 shift smaze soucasny prvni nacteny soubor
done oznauje konec tela cyklu
mv vysledek.tmp spojenadata.txt prejmenuje vysledek.tmp na spojenadata.txt