Мне надо прочитать файл и использовать данные в скрипте, нашел такой кодcat config.txt| grep -v '^ *#'| while read param1 param2; do
echo "$param1 - $param2"
doneНо как я понял полученные переменные не могут использоваться вне while?
Какие есть варианты чтобы читать файл, присваивать полученные данные переменной и использовать потом в любом месте скрипта?
>Мне надо прочитать файл и использовать данные в скрипте, нашел такой код
>
>
>cat config.txt| grep -v '^ *#'| while read param1 param2; do
> echo "$param1 - $param2"
>
>done
>
>Но как я понял полученные переменные не могут использоваться вне while?
>Какие есть варианты чтобы читать файл, присваивать полученные данные переменной и использовать
>потом в любом месте скрипта?Например, так:
while read param1 param2; do
...
done < <(cat config.txt| grep -v '^ *#')
Помогите, пожалуйста!
Я не могу прочитать строку йз файла, а очень хочется.
Кто-нибудь может внятно написать чтение одной строки из файла.
Ковыряние в вышейзложенном коде дало одно расстройство.
Интерпритатор - cshell.
Спасибо!
>Помогите, пожалуйста!
>Я не могу прочитать строку йз файла, а очень хочется.
>Кто-нибудь может внятно написать чтение одной строки из файла.
>Ковыряние в вышейзложенном коде дало одно расстройство.
>Интерпритатор - cshell.
>Спасибо!cat /path/to/file | sed -ne 'Np'
cat /path/to/file | head -N | tail -1, где N - номер строки.
"Упрощенный" вариант:
sed -ne 'Np' /path/to/file
head -N /path/to/file | tail -1
Спасибо, все заработало!
>>Помогите, пожалуйста!
>>Я не могу прочитать строку йз файла, а очень хочется.
>>Кто-нибудь может внятно написать чтение одной строки из файла.
>>Ковыряние в вышейзложенном коде дало одно расстройство.
>>Интерпритатор - cshell.
>>Спасибо!
>
>cat /path/to/file | sed -ne 'Np'
>cat /path/to/file | head -N | tail -1
>
>, где N - номер строки.
>
>"Упрощенный" вариант:
>sed -ne 'Np' /path/to/file
>head -N /path/to/file | tail -1Довольно практично, но у меня немного дугая задача. Скажите, как быть если нужно прочитать из файлика все строчки и каждую отдельно обработать. Можно ли это сделтаь на сшеле ?
В принципе я сейчас опишу проблему подробней. Мне например нужно обработаь файлик base.dat в котором примерно следующее содержание
---
192.168.0.12~2006.1.26-11:41~0~2006.1.26-12:41~~матерился матом~2006.01.26-11:41~ftp://kompik/sad01.jpg~
192.168.0.13~2006.1.26-11:41~0~2006.1.26-12:41~~тоже вел себя не прилично~~2006.01.26-11:42~ftp://kompik/sad01.jpg~
----
напримре утиликтками cat и cut я могу вывести те поля которые меня интересуют, но они выводятся в несколько строк сразу. т.е. я могу вывести поля ИП дату1, дату2. А дальше как с ними работать ? т.к. можно-ли в шеле работать с масивом ? если да то как ? или можно решить этот вопрос по другому средствами сшела ? В принципе меня интересует как можно читать из файла и писать в него, ток не потоком (все в подряд), а то, что меня интересует. Прошу прощения может я написал немного сумбурно. Да, ОС FreeBSD 4.11 использую /bin/sh
>напримре утиликтками cat и cut я могу вывести те поля которые меня
>интересуют, но они выводятся в несколько строк сразу. т.е. я могу
>вывести поля ИП дату1, дату2. А дальше как с ними работать
>? т.к. можно-ли в шеле работать с масивом ? если да
>то как ? или можно решить этот вопрос по другому средствами
>сшела ?man awk
man sed