The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Шелл и текстовые файлы, !*! A.Shikoff, 14-Ноя-03, 16:31  [смотреть все]
Привет!

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

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

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

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

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

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

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

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

      • Шелл и текстовые файлы, !*! qq, 18:33 , 15-Ноя-03 (3)
        >>>Привет!
        >>>
        >>>Как в шелле (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


        • Шелл и текстовые файлы, !*! qq, 21:21 , 09-Сен-04 (5)
          >>>>Привет!
          >>>>
          >>>>Как в шелле (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'


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

    while read line; do
        process $line
    done

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




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

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