Solo per curiosità, questo è un comportamento di normale ls
del previsto:Perché `ls` elenca più file per riga, ma` ls pipe/redirect` elenca solo 1 file per riga?
[email protected]:~$ ls
Codes Documents Music Pictures Templates
Desktop Downloads Papers Public Videos
Ma quando uso ls
con tubo/reindirizzamento, si comportano come ls -1
:
[email protected]:~$ ls | cat
Codes
Desktop
Documents
Downloads
Music
Papers
Pictures
Public
Templates
Videos
Perché? (e come scrivere un programma simile che dà un output diverso tra stdout e pipe come questo?)
P.S. Ho anche impostare alias l='ls -F'
, e questa volta il tubo/reindirizzamento non è più ls -1
stile:
[email protected]:~$ l | cat
Codes/ Documents/ Music/ Pictures/ Templates/
Desktop/ Downloads/ Papers/ Public/ Videos/
Senza utilizzare l'alias, lo fa il comando in ls -1
stile, però:
$ ls -F | cat
Codes/
Desktop/
Documents/
Downloads/
Music/
Papers/
Pictures/
Public/
Templates/
Videos/
invoke 'informazioni coreutils' nel terminale. –