Проблема в следующем
для построчной обработки теста использую данную конструкцию:while read LINE
do
. . .
echo "$LINE"
done < $inputfileвходной файл имеет определенное форматирование, т.е. есть различные отступы в виде пробелов,
как оказалось read проглатывает начальные пробелы, как это обойти, чтобы сохранить форматирование?
> как оказалось read проглатывает начальные пробелы, как это обойти, чтобы сохранить форматирование?read использует значение $IFS для разбиения строки на части. Попробуйте с ней поиграться и поизменять её. Например, как-нибудь так:
while IFS="\n" read LINE
>> как оказалось read проглатывает начальные пробелы, как это обойти, чтобы сохранить форматирование?
> read использует значение $IFS для разбиения строки на части. Попробуйте с ней
> поиграться и поизменять её. Например, как-нибудь так:
> while IFS="\n" read LINEБлагодарю, помогло!
> как оказалось read проглатывает начальные пробелы, как это обойти, чтобы сохранить форматирование?У меня на баше, например, вот так получилось:
$ read str <<< " x "; echo "-$str-"
-x-
$ IFS="" read str <<< " x "; echo "-$str-"
- x -
$ IFS= read str <<< " x "; echo "-$str-"
- x -
$ _
> как это обойти, чтобы сохранить форматирование?
#!/bin/bashIFS=$'\n'
while read LINE
do
. . .
echo "$LINE"
done < $inputfile