Dovrei fare eco solo ai nomi di file o directory con questa costruzione:
ls -Al | while read string
do
...
done
ls -Al
produzione :
drwxr-xr-x 12 s162103 studs 12 march 28 12:49 personal domain
drwxr-xr-x 2 s162103 studs 3 march 28 22:32 public_html
drwxr-xr-x 7 s162103 studs 8 march 28 13:59 WebApplication1
Ad esempio se provo:
ls -Al | while read string
do
echo "$string" | awk '{print $9}
done
quindi emette solo file e directory senza spazi. Se il file o la directory hanno spazi come "dominio personale" sarà solo la parola "personale".
Ho bisogno di una soluzione molto semplice. Forse c'è una soluzione migliore di Awk.
ls -Al | while
. Un modo semplice e più affidabile è for string in *; do echo "$string"; done
.
ls
? L'analisi ls
e "funziona in tutto * nix e non si romperà se succede qualcosa" non vanno bene insieme.
ls -Al *' '*
? L'ls
output di analisi non porta mai a nulla di buono.