|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Shell. Чтение текстового файла по строкам. |
|
|
Shell. Чтение текстового файла по строкам.
|
Новый участник Сообщения: 9 |
Подскажите как можно прочитать текстовый файл по строкам и в зависимости от значения строки, делать с ней разные вещи. Ну например, кидать в другой файл, присваивать значение строки переменной ит.д.
|
|
Отправлено: 10:25, 07-04-2005 |
Ветеран Сообщения: 659
|
Профиль | Отправить 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
|
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать О! Заработало! Токмо скобки двойные, но енто наверно приблуда bash-а.
|
Отправлено: 13:23, 07-04-2005 | #7 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать А как сделать, чтобы она к строковой переменной добавляла другую строковую переменну.
Типа если да, то Х=$Y иначе X=$X+";"+$Y. Т.е. это так хочется, но не получается. |
Отправлено: 15:21, 07-04-2005 | #8 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Интересно. Когда я в консоли напрямую делаю
x=12345 y=67890 z=$x$y echo $z дает 1234567890 а когда в скрипте, то вторая переменная пишется поверх первой. |
Отправлено: 16:00, 07-04-2005 | #9 |
Новый участник Сообщения: 9
|
Профиль | Отправить 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 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Получение и обработка информации из текстового файла | 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 |
|