Saya memiliki file bernama /tmp/urlFile
di mana setiap baris mewakili url. Saya mencoba membaca dari file sebagai berikut:
cat "/tmp/urlFile" | while read url
do
echo $url
done
Jika baris terakhir tidak diakhiri dengan karakter baris baru, baris tersebut tidak akan dibaca. Saya bertanya-tanya mengapa?
Apakah mungkin untuk membaca semua baris, terlepas dari apakah mereka diakhiri dengan baris baru atau tidak?
Jawaban yang Diterima:
Anda akan melakukan:
while IFS= read -r url || [ -n "$url" ]; do
printf '%sn' "$url"
done < url.list
(efektif, loop itu menambahkan kembali baris baru yang hilang pada baris (non-) terakhir).
- Mengapa menggunakan loop shell untuk memproses teks dianggap sebagai praktik yang buruk?
- Mengerti “IFS=baca -r baris”?
- Mengapa printf lebih baik daripada echo?