Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Shell. Чтение текстового файла по строкам.

Ответить
Настройки темы
Shell. Чтение текстового файла по строкам.

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите как можно прочитать текстовый файл по строкам и в зависимости от значения строки, делать с ней разные вещи. Ну например, кидать в другой файл, присваивать значение строки переменной ит.д.

Отправлено: 10:25, 07-04-2005

 

Аватара для archy

Ветеран


Сообщения: 659
Благодарности: 3

Профиль | Отправить PM | Цитировать


awk, sed, perl

Отправлено: 11:58, 07-04-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

g613


Сообщения: n/a

Профиль | Цитировать


#!/bin/bash
cat file_name | while read str; do
if [ "$str" = "1"]; then
....
elif [ "$str" = "bla-bla" ]; then
....
fi
done

Отправлено: 12:06, 07-04-2005 | #3


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Чей-то не работает

cat /remote/ad/test | while read bb; do if [[ "$bb" == "dn:" ]] ; then echo 11; else echo $bb; fi; done

так вот он ерту dn: никогда не находит, хотя половина строк начинается на dn:,
и всегда выдает строку.


Отправлено: 12:34, 07-04-2005 | #4

g613


Сообщения: n/a

Профиль | Цитировать


== - нефига не поиск образца...
как вариант:

cat /remote/ad/test | while read bb; do if [ `echo $str | grep dn:` ] ; then echo 11; else echo $bb; fi; done

Отправлено: 13:00, 07-04-2005 | #5

g613


Сообщения: n/a

Профиль | Цитировать


вместо $str - $bb ...

Отправлено: 13:01, 07-04-2005 | #6


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


О! Заработало! Токмо скобки двойные, но енто наверно приблуда bash-а.

Отправлено: 13:23, 07-04-2005 | #7


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


А как сделать, чтобы она к строковой переменной добавляла другую строковую переменну.
Типа если да, то Х=$Y иначе X=$X+";"+$Y. Т.е. это так хочется, но не получается.

Отправлено: 15:21, 07-04-2005 | #8


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Интересно. Когда я в консоли напрямую делаю

x=12345
y=67890
z=$x$y
echo $z дает 1234567890
а когда в скрипте, то вторая переменная пишется поверх первой.

Отправлено: 16:00, 07-04-2005 | #9


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Короче в файле есть строки типа dn: ........... и m: ........... А я хочу, чтобы эти строки выдавались в одну строку, скажем через ";" а dn: и m: убиралось.


#!/usr/bin/bash
cat /remote/ad/test | while read b
do
x=${b#*: }
if [[ `echo $b | grep dn:` ]]
then
echo $c
c=$x
else
c=$x";"$c
fi
done

И все бы хорошо но получается вот что

скажем x=1111111111 , c=222
а в итоге вместо 1111111111;222 мы получаем ;222111111

Отправлено: 16:20, 07-04-2005 | #10



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Shell. Чтение текстового файла по строкам.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Получение и обработка информации из текстового файла ya158 AutoIt 3 11-09-2009 01:24
[решено] Чтение текстового файла с неизвестным именем ZeroCrash AutoIt 4 01-07-2009 19:03
Скрипт по обработке текстового файла Space-06 AutoIt 4 26-06-2009 10:36
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д. Nun-Nun Скриптовые языки администрирования Windows 6 13-05-2009 13:28
C/C++ - Открытие текстового файла .::.DIMA.::. Программирование и базы данных 4 05-05-2009 12:17




 
Переход