The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"построчное чтение из файла"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"построчное чтение из файла"  +1 +/
Сообщение от Zaltic (ok) on 01-Мрт-11, 12:59 
Проблема в следующем
для построчной обработки теста использую данную конструкцию:

while read LINE
do
          . . .
          echo "$LINE"
done < $inputfile

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "построчное чтение из файла"  +1 +/
Сообщение от phpcoder email(ok) on 01-Мрт-11, 13:03 
> как оказалось read проглатывает начальные пробелы, как это обойти, чтобы сохранить форматирование?

read использует значение $IFS для разбиения строки на части. Попробуйте с ней поиграться и поизменять её. Например, как-нибудь так:

while IFS="\n" read LINE


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "построчное чтение из файла"  +/
Сообщение от Zaltic (ok) on 01-Мрт-11, 13:28 
>> как оказалось read проглатывает начальные пробелы, как это обойти, чтобы сохранить форматирование?
> read использует значение $IFS для разбиения строки на части. Попробуйте с ней
> поиграться и поизменять её. Например, как-нибудь так:
> while IFS="\n" read LINE

Благодарю, помогло!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "построчное чтение из файла"  +1 +/
Сообщение от Andrey Mitrofanov on 01-Мрт-11, 13:08 
> как оказалось read проглатывает начальные пробелы, как это обойти, чтобы сохранить форматирование?

У меня на баше, например, вот так получилось:

$ read str <<< "  x  "; echo "-$str-"
-x-
$ IFS="" read str <<< "  x  "; echo "-$str-"
-  x  -
$ IFS= read str <<< "  x  "; echo "-$str-"
-  x  -
$ _

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "построчное чтение из файла"  +/
Сообщение от pavlinux (ok) on 03-Мрт-11, 02:03 
>  как это обойти, чтобы сохранить форматирование?


#!/bin/bash

IFS=$'\n'

while read LINE
do
          . . .
          echo "$LINE"
done < $inputfile

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру