Bash - читать файл построчно

Thank you for reading this post, don't forget to subscribe!

Метод 1: использование перенаправление ввода

Самый про­стой спо­соб про­чи­тать файл построч­но – исполь­зо­вать пере­на­пра­ви­тель вво­да в цик­ле while.

Что­бы про­де­мон­стри­ро­вать, мы созда­ли обра­зец фай­ла с име­нем mycontent.txt и будем исполь­зо­вать его в этом руководстве.

Давай­те созда­дим скрипт с име­нем example1.sh, кото­рый исполь­зу­ет пере­на­прав­ле­ние вво­да и цикл.

Как это устроено:

  • – Объ­яв­ле­ние обо­лоч­ки “bash”
  • – Запуск цик­ла while и сохра­не­ние содер­жи­мо­го стро­ки в пере­мен­ной «y»
  • – Часть цик­ла while (началь­ная точ­ка) – echo для выво­да, а «$ y» озна­ча­ет вывод зна­че­ния пере­мен­ной, т.е. строки
  • – Чте­ние содер­жи­мо­го фай­ла с помо­щью пере­на­пра­ви­те­ля вво­да «<» и закры­тие с помо­щью done

Выпол­не­ние скрип­та и вывод:

Метод 2: использование команды cat

Вто­рой метод – исполь­зо­вать коман­ду cat и затем отправ­лять ее вывод в каче­стве вход­ных дан­ных в цикл while, исполь­зуя pipe.

Создай­те файл скрипт example2.sh с таким содержанием:

Как это устроено:

  • – Объ­яв­ле­ние обо­лоч­ки “bash”
  • – Вывод коман­ды cat, отправ­лен­ной как вход в цикл while с исполь­зо­ва­ни­ем пай­па «|» и сохра­не­ние содер­жи­мо­го стро­ки в пере­мен­ной «y»
  • – Часть цик­ла while (началь­ная точ­ка) – echo для выво­да, а «$ y» озна­ча­ет выво­да зна­че­ния пере­мен­ной, т.е. строки
  • – Завер­ше­ние цик­ла while с done
Выпол­не­ние скрип­та и вывод: