Saya harus menggemakan hanya nama file atau direktori dengan konstruksi ini:
ls -Al | while read string
do
...
done
ls -Al
keluaran:
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
Sebagai contoh jika saya mencoba:
ls -Al | while read string
do
echo "$string" | awk '{print $9}
done
kemudian hanya output file dan direktori tanpa spasi. Jika file atau direktori memiliki ruang seperti "domain pribadi" itu hanya akan menjadi kata "pribadi".
Saya butuh solusi yang sangat sederhana. Mungkin ada solusi yang lebih baik daripada awk.
ls -Al | while
. Cara yang sederhana dan lebih dapat diandalkan adalah for string in *; do echo "$string"; done
.
ls
? Parsing ls
dan "bekerja di semua * nix dan tidak akan pecah jika sesuatu terjadi" tidak berjalan dengan baik.
ls -Al *' '*
?ls
Hasil parsing tidak pernah menghasilkan sesuatu yang baik.