Her er en detaljeret forklaring af, hvad ":> file" betyder, og hvad resten af koden gør:
Dette er en shell-kommando, der bruges til at tømme indholdet af en fil eller oprette en tom fil, hvis den ikke allerede eksisterer. Specifikt:
:
er en no-op kommando (no operation), som ikke gør noget, men returnerer en successtatus.>
er en output-omdirigering, der sender output til en fil.file
er navnet på filen, der skal tømmes eller oprettes.Så :> file
tømmer indholdet af file
eller opretter en tom fil med navnet file
, hvis den ikke allerede eksisterer.
Resten af koden er en while
-loop, der læser linjer fra en anden fil (otherfile
) og omarrangerer felterne i hver linje, før de tilføjes til file
. Her er en trin-for-trin forklaring:
while read A B C D E; do
: Starter en while
-loop, der læser linjer fra otherfile
. Hver linje opdeles i fem variabler: A
, B
, C
, D
, og E
.echo "$A;$B;$D;$E;$C" >> file
: Omarrangerer felterne og skriver dem til file
i en ny rækkefølge: A
, B
, D
, E
, C
. Felterne adskilles med semikolon (;
).done < otherfile
: Angiver, at input til while
-loopet kommer fra otherfile
.Samlet set tømmer denne kode først indholdet af file
og derefter læser linjer fra otherfile
, omarrangerer felterne i hver linje og tilføjer dem til file
.
Har du brug for hjælp til Shell-kommandoer eller kodning? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Uanset om du står over for en specifik udfordring eller har brug for generel vejledning, er hjælp lige ved hånden.