← Back to team overview

sslug-teknik team mailing list archive

Re: Pipe ændrer input/output?

 

David List wrote:
Blot en lille undren:
Hvordan kan det være at 'ls | wc -l' giver det korrekte antal filer i
den working directory, kommandoen udstedes i, når 'ls' default giver
formatteret output, som ikke har et antal linier der svarer til
antallet af filer?
Kommandoen 'wc -l' skulle jo tælle linier.....

Ls kommandoen er smart. Den kan finde ud af, om den leverer output til en skærm eller til noget andet. Hvis output er til skærmen, formatterer den i det velkendte format. Men hvis output er til "noget andet", skriver den en fil pr. linie. Derfor vil wc -l returnere antallet af filer.

Det kan iøvrigt verificeres med kommandoen "ls | more". "more" er i dette tilfælde "noget andet" end skærmen, nemlig en pipe.

MVH
--
Jon Svejgaard
====================================================================
                               | ACE - UNIX/Linux Consultancy
                               | Hjorthoejvej 2 / DK-4291 Ruds Vedby
mail: jon@xxxxxx               | DENMARK
http://www.ace.dk              | +45 5826 1799 / +45 4052 0799
====================================================================



Follow ups

References