Привет!Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
Суть задачи состоит в том, чтобы получить очередную строку из файла,
что-то с ней сделать и вывести на stdout.Всем спасибо.
>Привет!
>
>Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
>
>Суть задачи состоит в том, чтобы получить очередную строку из файла,
>что-то с ней сделать и вывести на stdout.
>
>Всем спасибо.for i in `cat /etc/passwd`;do echo $i|sed 's/^/===/g';done
>>Привет!
>>
>>Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
>>
>>Суть задачи состоит в том, чтобы получить очередную строку из файла,
>>что-то с ней сделать и вывести на stdout.
>>
>>Всем спасибо.
>
> for i in `cat /etc/passwd`;do echo $i|sed 's/^/===/g';doneНе-а. Так я уже пробовал. Так работает только тогда, когда строки не содержат пробелов.
Еще варианты?
>>>Привет!
>>>
>>>Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
>>>
>>>Суть задачи состоит в том, чтобы получить очередную строку из файла,
>>>что-то с ней сделать и вывести на stdout.
>>>
>>>Всем спасибо.
>>
>> for i in `cat /etc/passwd`;do echo $i|sed 's/^/===/g';done
>
>Не-а. Так я уже пробовал. Так работает только тогда, когда строки не
>содержат пробелов.
>
>Еще варианты?$ cat txtfile
test test
124 1241234 1234
sdfablksfd asdf asdk$ IFS="\n" ; for i in `cat txtfile`;do echo $i|sed 's/^/===/g';done
===test test
===124 1241234 1234
===sdfablksfd asdf asdk
>>>>Привет!
>>>>
>>>>Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
>>>>
>>>>Суть задачи состоит в том, чтобы получить очередную строку из файла,
>>>>что-то с ней сделать и вывести на stdout.
>>>>
>>>>Всем спасибо.
>>>
>>> for i in `cat /etc/passwd`;do echo $i|sed 's/^/===/g';done
>>
>>Не-а. Так я уже пробовал. Так работает только тогда, когда строки не
>>содержат пробелов.
>>
>>Еще варианты?
>
>$ cat txtfile
>test test
>124 1241234 1234
>sdfablksfd asdf asdk
>
>$ IFS="\n" ; for i in `cat txtfile`;do echo $i|sed 's/^/===/g';done
>===test test
>===124 1241234 1234
>===sdfablksfd asdf asdkтут ошибка.
IFS надо задавать так:
IFS=$'\n'
тогда она будет содержать newline. а в коде выше - она устанавливается в 'n'
>Привет!
>
>Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
>
>Суть задачи состоит в том, чтобы получить очередную строку из файла,
>что-то с ней сделать и вывести на stdout.while read line; do
process $line
done>Всем спасибо.