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

Исходное сообщение
"Работа с текстом"

Отправлено semenoff , 12-Окт-06 11:21 
Необходимо следующее!
Есть файл с тектом. Необходимо вытаскивать из него две строки, но не сначала, а пятого символа и записать в другой файл!
Помогите пожалуйста!

Содержание

Сообщения в этом обсуждении
"Работа с текстом"
Отправлено AMDmi3 , 12-Окт-06 12:25 
>Необходимо следующее!
>Есть файл с тектом. Необходимо вытаскивать из него две строки, но не
>сначала, а пятого символа и записать в другой файл!
>Помогите пожалуйста!

Две какие строки? Если первые то

head -2 file | cut -b 5

если по критерию, то соответственно

grep -E "чтото|чтотоеще" -m 2 file | cut -b 5


"Работа с текстом"
Отправлено semenoff , 12-Окт-06 12:34 
Да две первые строки:
Uo=123456789
D0=987654321
Допустим есть файл в нем много строк, но мне надо только 2 первые скинуть по FTP и записать в файл например 1.тхт
целиком файл скинуть получается, а вот со строками пока еще вожусь!
А если еще конкретнее надо U0+D0/1024/1024*4 и все это записть в файл 1.тхт



"Работа с текстом"
Отправлено Sova , 12-Окт-06 13:00 
>Да две первые строки:
>Uo=123456789
>D0=987654321
>Допустим есть файл в нем много строк, но мне надо только 2
>первые скинуть по FTP и записать в файл например 1.тхт
>целиком файл скинуть получается, а вот со строками пока еще вожусь!
>А если еще конкретнее надо U0+D0/1024/1024*4 и все это записть в файл
>1.тхт

По моему тебе нужно что-то похожее на этот скрипт:
#!/bin/sh

U=`sed -n '1 p' $1 | cut -d= -f 2`
D=`sed -n '2 p' $1 | cut -d= -f 2`
RES=`expr $U + $D`
echo $RES


"Работа с текстом"
Отправлено semenoff , 12-Окт-06 14:13 
Можно пожалуйста описать скрипт поподробней!!!Если не трудно!!!


"Работа с текстом"
Отправлено Sova , 12-Окт-06 14:55 
>Можно пожалуйста описать скрипт поподробней!!!Если не трудно!!!

U=`sed -n '1 p' $1 | cut -d= -f 2`
# U=`команда запускаемая в shell` - переменной U присваивается значение которое возвращает shell-скрипт
# sed -n '1 p' $1 - найти 1-ю строку в файле $1 ($1 - имя файла передаётся скрипту при запуске: ./script ./path/to/file)
# cut -d= -f 2  - "=" будет считатать разделителем строки, 2 - второе поле
D=`sed -n '2 p' $1 | cut -d= -f 2`
RES=`expr $U + $D`
# expr - консольная программа для математических операций
echo $RES


"Работа с текстом"
Отправлено semenoff , 12-Окт-06 15:25 
#!/bin/sh
U=`sed -n '1 p' /var/stargazer/users/mileta8/stat.2006.08 | cut -d= -f 2`
D=`sed -n '1 p' /var/stargazer/users/mileta8/stat.2006.08 | cut -d= -f 2`
RES= `expr $U + $D`
echo $RES
результат пишет 0
или я что-то не правильно делаю?

"Работа с текстом"
Отправлено semenoff , 12-Окт-06 15:52 
Извини! Все правильно. Только вот скажи мне пожалуйста как теперьв се это сохранить в файл.



"Работа с текстом"
Отправлено Sova , 12-Окт-06 18:35 
echo $RES > file # записать в файл
echo $RES >> file # добавить новую строку в файл