Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
Есть текстовый файл. Его надо построчно превратить в набор переменных, т.е. строка1 - var1 строка2 - var2 и т.д. Как это можно сделать в shell. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 22:11 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
такая конструкция подойдет? Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 11:44 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
Не совсем, надо весь массив переменных оставить, т.к. с ним много ещё работать. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 13:01 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
И ещё, файл-то текстовый, поэтому встречаются пробелы, а вышеприведённый пример откусывает кусок до пробела, и с ним работает, остальная строка теряется... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 13:10 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
посмотри команду read в man bash. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 14:34 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
lissyara И ещё, файл-то текстовый, поэтому встречаются пробелы, а вышеприведённый пример откусывает кусок до пробела, и с ним работает, остальная строка теряется... это зависит от того, чем у тебя является разделитель Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 16:33 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
2 miniСЛОН Я просто написал $0, и получилось, не вникая какие разделители :) 2 Хрен Пробовал к вышеприведённому прикрутить read, но пока не очень понимаю как.... :( Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 17:05 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
lissyara 2 miniСЛОН Я просто написал $0, и получилось, не вникая какие разделители :) 2 Хрен Пробовал к вышеприведённому прикрутить read, но пока не очень понимаю как.... :( Posted via ActualForum NNTP Server 1.1 Shell какой? bash, csh или еще что? Для bash можно так (наверное): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 18:26 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
lissyara 2 miniСЛОН Я просто написал $0, и получилось, не вникая какие разделители :) савсем забыл про $0 =) как говориться "плохо быть глупым" =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 23:15 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
Итак, чё-то не получается. file.txt Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. test.sh Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. А вот что получается в итоге : ======================================================== #!/bin/sh -xv i=0; n=0 + i=0 + n=0 cat file.txt | { while read s do i=`expr $i + 1` var_$i=$s echo "var_i" $var_$i echo "i" $i echo "s" $s done } + cat+ read file.txt s + expr 0 + 1 + i=1 + var_1=stroka1 var_1=stroka1: not found + echo var_i 1 var_i 1 + echo i 1 i 1 + echo s stroka1 s stroka1 + read s + expr 1 + 1 + i=2 + var_2=stroka2 var_2=stroka2: not found + echo var_i 2 var_i 2 + echo i 2 i 2 + echo s stroka2 s stroka2 + read s + expr 2 + 1 + i=3 + var_3=stroka3 var_3=stroka3: not found + echo var_i 3 var_i 3 + echo i 3 i 3 + echo s stroka3 s stroka3 + read s + expr 3 + 1 + i=4 + var_4=stroka4 var_4=stroka4: not found + echo var_i 4 var_i 4 + echo i 4 i 4 + echo s stroka4 s stroka4 + read s + expr 4 + 1 + i=5 + var_5=stroka5 var_5=stroka5: not found + echo var_i 5 var_i 5 + echo i 5 i 5 + echo s stroka5 s stroka5 + read s ================================================================ Причём я пробовал сбросить значение $s во временный файл, а потом из него прочитать командой read - та же байда, var_i получается равным i, но без жалоб. Чё-то не так, а что понять не могу... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 10:23 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
Массивы использовать синтаксис не позволяет или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 13:09 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
Хм... Вы уж извините, но можно про массивы ещё раз, и по-русски? И что не так в вышеприведённом скрипте? Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 13:46 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
вверну и я свои пять копеек :-) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. настоящий массив. если это не заработает - киньте в меня камень (не ниже P4) :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 13:49 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
причем сам топик - это исключительно одна строка set `cat $filename` :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 13:50 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
2 --null-- Всё работает, но надо-то что бы каждой строке файла соответствовала РАЗНАЯ (с разным названием) переменная.... (var1, var2, var3 и т.д.) То, что методов можно много разных придумать, это и сразу ясно было, но что-то до меня ни один не допирает... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:10 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
lissyaraХм... Вы уж извините, но можно про массивы ещё раз, и по-русски? И что не так в вышеприведённом скрипте? Posted via ActualForum NNTP Server 1.1 А в скрипте, который я привел, что не так? Если ваш sh совместим с моим bash, то var[$i] должен содержать i-ю строку файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:19 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
не знаю как в bash запустить отладку, но при запуске выдаёт "command not found" Чего "not found", почему.... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:25 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
lissyaraне знаю как в bash запустить отладку, но при запуске выдаёт "command not found" Чего "not found", почему.... Posted via ActualForum NNTP Server 1.1 bash наверное и not found. А ваш sh (у меня на него bash слинкован) такой синтаксис не допускает что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:39 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
Вобщем у меня bash --vesrion выдает Код: plaintext 1. 2. Вот такой скрипт нормально работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:55 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
Нет, не допускает... Жалуется на некорректную петлю в 10 строке for (( i=1 ; i<=$n; i++ )) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:56 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
lissyaraНет, не допускает... Жалуется на некорректную петлю в 10 строке for (( i=1 ; i<=$n; i++ )) Posted via ActualForum NNTP Server 1.1 Может bash попробовать поставить? Он в FreeBSD тоже должен быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:58 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
авторРАЗНАЯ (с разным названием) переменная $1, $2 etc - это не разные переменные? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 15:04 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
Конторольный вопрос: что покажет команда echo $1 echo $2 в вышеприведённом скрипте если эти эхи разместить после "done"? Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 15:23 |
|
||
|
скинуть файл построчно в переменные
|
|||
|---|---|---|---|
|
#18+
ничего хорошего :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 15:26 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=32879995&tid=1491075]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 467ms |

| 0 / 0 |
