split & cat
Opdel og saml data i Linux
Split og Cat er to værktøjer i Linux der gør det muligt at opdele data og herefter samle det igen.
Hvornår kunne man få glæde af Split og Cat? - faktisk er der mange muligheder for at bruge Split og Cat. I dette indlæg vil jeg blot beskrive to situationer hvor jeg har haft brug for Split og Cat værktøjerne i Linux
Real-world eksempel: Gammelt lager-system
Jeg fik på et tidspunkt en opgave for en ældre virksomhed der sælger reservedele at skulle levere en liste over alle deres parts (varer) fra deres webshop til et gammelt lager-system de havde stående.
Lige pt. opdaterede de manuelt begge systemer når der kom nye varer, og det var af flere årsager ikke særligt effektivt: spild af tid, og så skete der ofte fejl. De ønskede derfor hver nat, at alle varer fra webshoppen blev læst ud i en fil og importeret ind i det gamle lager-system, automatisk.
Heldigvis havde webshoppen et API, så jeg fik kodet et lille script der udlæste data, og herefter til en fil som det gamle lager-system kunne forstå. Problemet var blot at det gamle lager-system ikke understøttede mere end 1.000 linjer ad gangen pr. fil. Heldigvis eksisterer split, så jeg kunne hurtigt splitte min fil ud til flere filer med 999 linjer pr. fil - det skete med følgende kommando:
$ split -l 999 output.csv
Binære filer
Split kan også bruge til andet end tekst-filer. Split kan f.eks. også bruges hvis du har en stor data-fil, f.eks. et .iso-image der fylder 1200 megabyte.
Istedet for at bruge -l 10 (split hver 10. linje) kan du også splitte efter f.eks. hver 100 megabyte, dette gøres med kommandoen:
split -b 100m minfil.iso
Herefter har man nu 12 filer (xaa, xab, xac...) som nemt kan samles til minfil.iso igen vha. cat:
cat x* > minfil.iso
Emner i denne video
I denne e-læringsvideo på dansk gennemgår vi følgende emner trin-for-trin:
- Split en fil vha. split-funktionen
- Samle filer igen vha. cat-funktionen
- Små tips og tricks