Как эффективно читать строки из файла в сценарий оболочки

29 dic 2022 1 min di lettura
Как эффективно читать строки из файла в сценарий оболочки
Indice dei contenuti

Вступление

Чтение файла строка за строкой — обычная задача во многих сценариях оболочки, поскольку она позволяет обрабатывать каждую строку файла отдельно и выполнять действия на основе содержимого каждой строки. Существует несколько способов чтения файла построчно в сценарий оболочки Linux, но некоторые методы более эффективны, чем другие. В этой статье мы рассмотрим некоторые из наиболее эффективных способов чтения файла построчно в сценарий оболочки Linux.

Использование цикла while

В сценарии оболочки строки из файла могут быть эффективно прочитаны с помощью команды while в сочетании с командой read. Например, рассмотрим следующий сценарий оболочки:

# Apri il file in lettura
 while IFS= read -r line; do
 # Processa la riga letta
 echo "Ho letto la riga: $line"
 done < "file.txt"

В этом примере мы открываем файл file.txt для чтения и для каждой строки файла присваиваем значение строки переменной line и печатаем ее на экране.

Команда while будет выполняться до тех пор, пока в файле есть строки для чтения, а это означает, что файл будет считан эффективно, без необходимости загрузки всего содержимого файла в память.

Примечание. Команда read доступна только в системах на базе Unix, таких как Linux и macOS. Если вы используете другую операционную систему, например Windows, вы можете использовать другие команды для чтения строк из файла, например, for /f.

Заключение

Надеюсь, я был полезен. Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.