Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Чтение файлов с помощью циклов

while и until могут обрабатывать стандартный ввод. Это позволяет обрабатывать файлы с циклами «пока» и «до». В следующем примере мы отобразим содержимое файла distros.txt, использованного в предыдущих главах:


#! / Bin / Баш

# while-read: читать строки из файла при чтении версии дистрибутива; делать

printf "Distro:% s \ tVersion:% s \ tReleased:% s \ n" \

$ distro \

$ версия \

$ релиз выполнен <distros.txt

#! / Bin / Баш

# while-read: читать строки из файла при чтении версии дистрибутива; делать

printf "Distro:% s \ tVersion:% s \ tReleased:% s \ n" \

$ distro \

$ версия \

$ релиз выполнен <distros.txt


Чтобы перенаправить файл в цикл, мы помещаем оператор перенаправления после сделанный утверждение. Цикл будет использовать читать для ввода полей из перенаправленного файла. В читать Команда будет завершена после чтения каждой строки с нулевым статусом выхода до тех пор, пока не будет достигнут конец файла. В этот момент он выйдет с ненулевым статусом выхода, тем самым завершив цикл. Также можно передать стандартный ввод в цикл:



#! / Bin / Баш


# while-read2: читать строки из файла

sort -k 1,1 -k 2n distros.txt | пока читал релиз версии дистрибутива; do printf "Distro:% s \ tVersion:% s \ tReleased:% s \ n" \

$ distro \

$ версия \

выпуск $

сделанный

#! / Bin / Баш


# while-read2: читать строки из файла

sort -k 1,1 -k 2n distros.txt | пока читал релиз версии дистрибутива; do printf "Distro:% s \ tVersion:% s \ tReleased:% s \ n" \

$ distro \

$ версия \

выпуск $

сделанный


Здесь мы берем вывод sort команду и отобразить поток текста. Однако важно помнить, что, поскольку конвейер будет выполнять цикл в подоболочке, любые переменные, созданные или назначенные внутри цикла, будут потеряны при завершении цикла.


Лучшие облачные вычисления для ОС в OnWorks: