Bash:
Читання текстового файлу
Як це робити:
# Читання всього файлу за раз
cat myfile.txt
# Читання файлу построково
while IFS= read -r line; do
echo "Текст рядка: $line"
done < myfile.txtПрипустимо, myfile.txt містить:
Привіт
Це файл
текстових данихВивід команд буде:
Привіт
Це файл
текстових данихта
Текст рядка: Привіт
Текст рядка: Це файл
Текст рядка: текстових данихПоглиблено:
Читання файлів у Bash існує з часів ранніх версій Unix. Команда cat була однією з основних. Проте, іноді краще обробляти файл построково, що зменшує використання пам’яті.
Альтернативи cat включають awk, sed, чи grep для специфічних завдань. Наприклад, awk чудово підходить для обробки текстових даних на основі шаблонів.
В Bash існує універсальне внутрішнє поле роздільника IFS (Internal Field Separator), яке використовують для ітерації по строках файлу без розбивання строк на слова.
Дивіться також:
- GNU Bash manual: https://www.gnu.org/software/bash/manual/bash.html
- Advanced Bash-Scripting Guide: https://www.tldp.org/LDP/abs/html/
awkprogramming language: https://www.gnu.org/software/gawk/manual/gawk.htmlsed&grep: https://www.gnu.org/software/sed/manual/sed.html, http://www.gnu.org/software/grep/manual/grep.html