URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 54098
[ Назад ]

Исходное сообщение
"Глупый вопрос умным людям"

Отправлено Виктор , 04-Мрт-05 09:17 
Чем можно построчно парсить файлы?
Нужно просто брать текстовый файл и построчно его обрабатывать.
Я уже заколебался - и комбинацией head/tail, и for i in $file - должна же быть какая-то шелл-команда или прикладуха - ну знаю, тупой вопрос, но не пойму как эта дрянь может называться!
Напишите, плз, какой ман читать =)
Спасибо!

Содержание

Сообщения в этом обсуждении
"Глупый вопрос умным людям"
Отправлено gyn61 , 04-Мрт-05 09:31 
>Чем можно построчно парсить файлы?
>Нужно просто брать текстовый файл и построчно его обрабатывать.
>Я уже заколебался - и комбинацией head/tail, и for i in $file
>- должна же быть какая-то шелл-команда или прикладуха - ну знаю,
>тупой вопрос, но не пойму как эта дрянь может называться!
>Напишите, плз, какой ман читать =)
>Спасибо!

Пример для bash:

(while read i; do echo "Строка: " $i; done) < somefile


"Глупый вопрос умным людям"
Отправлено allez , 04-Мрт-05 09:36 
Можно еще так:

while read STRING;
do
  # в переменной STRING находится строка из файла
  # ее-то (переменную) и обрабатываем...
done<file

Или так:

cat file | sed '<commands>'

Или этак:

cat file | awk '<commands>'

А чем, собственно, вам не угодили способы, указанные вами?
Они имеют такое же право на существование, как и все остальные,
все зависит от ситуации и предпочтений того, кто ими пользуется.

Маны же читайте следующие:
man awk
man sed
man tr
man *grep (grep, egrep, fgrep ...)

А еще в каком-нибудь поисковике сделайте запрос "обработка текстов в linux", почитайте и, пожалуй, купите книжку А. Шевеля, на которую вывалится немало ссылок.

P.S.: Оп-паньки, пока писал свой опус, gyn61 успел дать ответ. Прошу плагиатором не считать :-)


"Глупый вопрос умным людям"
Отправлено Виктор , 04-Мрт-05 09:41 
Господа, всем большое спасибо!
Буду пробовать!

"Глупый вопрос умным людям"
Отправлено Виктор , 04-Мрт-05 09:43 
>А чем, собственно, вам не угодили способы, указанные вами?
>Они имеют такое же право на существование, как и все остальные,
>все зависит от ситуации и предпочтений того, кто ими пользуется.

Через head/tail - работает медленно
Через for i in $file - он берет не строки, а слова, и надо очень аккуратно считать пробелы и следить за ними.