tgoop.com/bash_srv/26
Create:
Last Update:
Last Update:
🔍 Обработка содержимого файла в Bash
Часто при работе с файлами в Bash применяют вложенные циклы. Внешний цикл перебирает строки файла, а внутренний — обрабатывает каждую строку по отдельности.
Этот метод особенно полезен для работы с CSV-файлами или другими текстовыми файлами с разделителями. Для правильной обработки данных можно использовать переменную окружения IFS (Internal Field Separator), задавая нужный символ-разделитель.
📌 Пример кода:
IFS=$'\n' # Устанавливаем разделитель строк
for entry in $(cat /etc/passwd) # Читаем файл построчно
do
echo "Значения в строке: $entry"
IFS=: # Меняем разделитель для обработки полей
for value in $entry # Разбираем строку по полям
do
echo " -> $value"
done
done
📌 Что делает этот скрипт?
- Читает файл /etc/passwd построчно
- Для каждой строки разбивает данные по ":" (разделителю в файле)
- Выводит каждое поле строки отдельно
⚠️ Важно!
При обработке больших файлов такой способ может быть неэффективным из-за использования подстановки команд
$(cat file). Лучше применять while read, например:
while IFS=: read -r user pass uid gid info home shell
do
echo "Пользователь: $user, UID: $uid, Домашняя папка: $home"
done < /etc/passwd
Такой вариант работает быстрее и не создает проблем с пробелами в строках! 🚀
👉 @bash_srv
BY Bash Советы
Share with your friend now:
tgoop.com/bash_srv/26
