The OpenNET Project / Index page

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

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

"Шелл и текстовые файлы"
Сообщение от A.Shikoff emailИскать по авторуВ закладки on 14-Ноя-03, 16:31  (MSK)
Привет!

Как в шелле (sh) в цикле прочитать текстовый файл по строкам?

Суть задачи состоит в том, чтобы получить очередную строку из файла,
что-то с ней сделать и вывести на stdout.

Всем спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Шелл и текстовые файлы"
Сообщение от qq Искать по авторуВ закладки on 14-Ноя-03, 23:01  (MSK)
>Привет!
>
>Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
>
>Суть задачи состоит в том, чтобы получить очередную строку из файла,
>что-то с ней сделать и вывести на stdout.
>
>Всем спасибо.

for i in `cat /etc/passwd`;do echo $i|sed 's/^/===/g';done

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Шелл и текстовые файлы"
Сообщение от A.Shikoff emailИскать по авторуВ закладки on 15-Ноя-03, 13:04  (MSK)
>>Привет!
>>
>>Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
>>
>>Суть задачи состоит в том, чтобы получить очередную строку из файла,
>>что-то с ней сделать и вывести на stdout.
>>
>>Всем спасибо.
>
> for i in `cat /etc/passwd`;do echo $i|sed 's/^/===/g';done

Не-а. Так я уже пробовал. Так работает только тогда, когда строки не содержат пробелов.

Еще варианты?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Шелл и текстовые файлы"
Сообщение от qq Искать по авторуВ закладки on 15-Ноя-03, 18:33  (MSK)
>>>Привет!
>>>
>>>Как в шелле (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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Шелл и текстовые файлы"
Сообщение от qq Искать по авторуВ закладки(??) on 09-Сен-04, 21:21  (MSK)
>>>>Привет!
>>>>
>>>>Как в шелле (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'


  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Шелл и текстовые файлы"
Сообщение от vnp emailИскать по авторуВ закладки on 16-Ноя-03, 00:38  (MSK)
>Привет!
>
>Как в шелле (sh) в цикле прочитать текстовый файл по строкам?
>
>Суть задачи состоит в том, чтобы получить очередную строку из файла,
>что-то с ней сделать и вывести на stdout.

while read line; do
    process $line
done

>Всем спасибо.


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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