Re: Скрипт на bash

2007-06-17 Нитка Vyacheslav Karamov
а можно и так:
#!/usr/local/bin/php -f
bla-bla-bla

В Суб, 16/06/2007 в 23:05 +0300, rvadmin пишет:
> Простой пример /usr/local/bin/php -f путь к скрипту
> в переменных $_SERVER['argv'] все аргументы
> 
> Лучше засунуть его в отдельный файл, например
> #!/bin/bash
> /usr/local/bin/php -f /path/to/script.php $#
> 
> И запускать этот файл с аргументами
> 
> Это я так, для справки :)
> 
> 


-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-06-16 Нитка rvadmin
Strange_V wrote:
> Alexander Kraev пишет:
>  > То-то и оно, в общем выхода три:
>  >
>  > 1. Извращатся с telnet или netcat(nc), писать обработчики и прочее.
>  > Незнаю насколько это удобно и реализуемо.
>  > 2. Использовать /dev/tcp вроде этого:
>  > 
> http://thesmithfam.org/blog/2006/05/23/bash-socket-programming-with-devtcp-2/
>  > ,  но опять же писать обработчики которые уже написаны в других языках.
>  > 3. бросить идею с bash и использовать perl.
>  >
>  > и вообще не морочить людям голову, google хорошо ощет по "bash socket",
>  > "bash telnet", "bash netcat" ;)
>
> и 4, использовать PHP из под консоли, для меня лучший вариант..
>   
Согласен, на консольном php самый нормальный вариант ( во всяком случае 
для меня :) )
Простой пример /usr/local/bin/php -f путь к скрипту
в переменных $_SERVER['argv'] все аргументы

Лучше засунуть его в отдельный файл, например
#!/bin/bash
/usr/local/bin/php -f /path/to/script.php $#

И запускать этот файл с аргументами

Это я так, для справки :)


-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-06-16 Нитка Strange_V
Alexander Kraev пишет:
 > То-то и оно, в общем выхода три:
 >
 > 1. Извращатся с telnet или netcat(nc), писать обработчики и прочее.
 > Незнаю насколько это удобно и реализуемо.
 > 2. Использовать /dev/tcp вроде этого:
 > 
http://thesmithfam.org/blog/2006/05/23/bash-socket-programming-with-devtcp-2/
 > ,  но опять же писать обработчики которые уже написаны в других языках.
 > 3. бросить идею с bash и использовать perl.
 >
 > и вообще не морочить людям голову, google хорошо ощет по "bash socket",
 > "bash telnet", "bash netcat" ;)

и 4, использовать PHP из под консоли, для меня лучший вариант..

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-05-03 Нитка Alexander Smirnov
g - значит во всей строке

On Thursday 03 May 2007, Ilya Petrov wrote:
> В Пнд, 30/04/2007 в 10:46 +0400, Attid пишет:
> > 29.04.07, 16:20, Alexander Kraev :
> > >cat autoserial.conf | grep "16950/954" |  sed 's/115200/460800/g' >
> >
> > autoserial.conf.tmp
> >
> > >mv autoserial.conf.tmp autoserial.conf
> > >
> > >должно сработать, не проверял.
> >
> > ну почти только остальные строчки мне надо оставить =)
>
> курить доку по sed. делается одной командой:
> sed 's%что%на что%g' -i /файл.где-заменять.
> вместо % может быть любой знак. g - значит по всему файлу.





--
This e-mail message is for the sole use of the intended recipient(s) and 
contains confidential and/or privileged information belonging to
Five 9, Inc. or its customers or partners. Any unauthorized review, use, 
copying, disclosure or distribution of this message is strictly
prohibited. If you are not an intended recipient of this message, please 
contact the sender by reply e-mail and destroy all soft and hard
copies of the message and any attachments.
Thank you for your cooperation.
--
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-05-03 Нитка Ilya Petrov
В Пнд, 30/04/2007 в 10:46 +0400, Attid пишет:
> 29.04.07, 16:20, Alexander Kraev :
> 
> >cat autoserial.conf | grep "16950/954" |  sed 's/115200/460800/g' >
> autoserial.conf.tmp
> >mv autoserial.conf.tmp autoserial.conf
> 
> >должно сработать, не проверял.
> 
> ну почти только остальные строчки мне надо оставить =)
курить доку по sed. делается одной командой:
sed 's%что%на что%g' -i /файл.где-заменять.
вместо % может быть любой знак. g - значит по всему файлу.



-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-05-02 Нитка Aleksey Korotkov
On Wed, 02 May 2007 17:34:57 +0300
Ilya Petrov wrote:

IP> вот я долго на эту тему спорил с преподом по информатике :)мол,
IP> изначально в досе (уже бугога) все архиваторы были со сжатием.

Вот эта путаница понятий архивирования и сжатия от досов всяких и идёт
(точнее от софта под досы, где да, действительно, архиваторов без
сжатия просто не было -- отсюда и искажение в понимании термина).

-- 
С уважением,
А.В.Коротков,

mailto:[EMAIL PROTECTED]

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-05-02 Нитка Alexander Kraev

tar - create tape archives

тут можно долго спорить,для меня ключевой момент что это именно tape. то
есть когда он создавался он возможно и не имел функциональности заворачивать
все в файл а просто на ленту писал. то есть, я думаю что когда он создавался
никто и не думал использовать его в качесте инструмента для создания
тарболов/архивов. а потом все просекли что можно tar зипануть и все и вообще
удобно.

так что, спорить можно, но та ли это вещь чтобы спорить?

02.05.07, Ilya Petrov <[EMAIL PROTECTED]> написал(а):



В Вск, 29/04/2007 в 00:49 +0500, Aleksey Korotkov пишет:
> Вы путаете архивирование со сжатием. tar именно архиватор.
> Архивирование вовсе не подразумевает обязательного сжатия.

вот я долго на эту тему спорил с преподом по информатике :)
мол, изначально в досе (уже бугога) все архиваторы были со сжатием.
в итоге зачет я получил через месяц после сессии


--
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru





--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-05-02 Нитка Ilya Petrov

В Вск, 29/04/2007 в 00:49 +0500, Aleksey Korotkov пишет:
> Вы путаете архивирование со сжатием. tar именно архиватор.
> Архивирование вовсе не подразумевает обязательного сжатия.

вот я долго на эту тему спорил с преподом по информатике :)
мол, изначально в досе (уже бугога) все архиваторы были со сжатием. 
в итоге зачет я получил через месяц после сессии


-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-05-02 Нитка Dmitry Mityugov
On 5/1/07, Munko O. Bazarzhapov <[EMAIL PROTECTED]> wrote:
> Уже 3-ий день не могу написать скрипт который бы удалял в папке все
> файлы старее чем 7 дней
> каталог = /backup/sql/
> от man find уже голова пухнет
> помогите кто чем может

Здесь обсуждалась похожая тема:
http://www.linuxquestions.org/questions/showthread.php?t=462290

-- 
Dmitry Mityugov, St. Petersburg, Russia
I ignore all messages with confidentiality statements

"We live less by imagination than despite it" - Rockwell Kent, "N by E"
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-05-01 Нитка Alexander Sashnov
"Alexander Kraev" <[EMAIL PROTECTED]> writes:

>> Есть ли возможность из в bash работать с сокетами? Читал Advanced
>> Bash-Scripting Guide Искусство программирования на языке сценариев
>> командной оболочки, там не рекомендуется, но все же можно?

man bash

/dev/tcp/host/port из bash на Debian был выкинут, тк. есть утилита netcat
и, конечно же, более мощные скриптовые языки. 

-- 
Alexander Sashnov


-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-05-01 Нитка Munko O. Bazarzhapov
Уже 3-ий день не могу написать скрипт который бы удалял в папке все
файлы старее чем 7 дней
каталог = /backup/sql/
от man find уже голова пухнет
помогите кто чем может

-- 
Мунко О. Базаржапов
mailto:[EMAIL PROTECTED]
ICQ UIN: 169-245-258
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-30 Нитка Attid
ну я готового и не просил, а чтоб думать надо базовые знания получить.неужеле я успел проявить себя как лентяй  ? =/ну ладно, теперь хочу постичь еще одну истинукак в скрипты запихивают бинарник ? например инстолятов кроссовер офиса .  >30.04.07, 18:03, Alexander Kraev :>>Александр Краев не рисует, а дает намек, чтобы вы наконец-то думать сами начали ;)>Удачи.

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-30 Нитка Alexander Kraev

Александр Краев не рисует, а дает намек, чтобы вы наконец-то думать сами
начали ;)
Удачи.

30.04.07, Attid <[EMAIL PROTECTED]> написал(а):


пойду потестю что там Alexander Kraev нарисовал.



--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-30 Нитка Attid
30.04.07, 14:16, Евсюков Денис <[EMAIL PROTECTED]>:

> Не понятен смысл первой строки... Зачем вы берете только строки,  
> содержащие данную подстроку и кидаете в файл, если затем из этого файла  
> опять фильтруете строки по тому же принципу? В итоге вы просто берете все  
> строки данного файла... Первую строку можно смело убирать...
> И что значит "изменять порядок внутри"??? Если использовать вторую и  
> третью строку вашего скрипта, порядок строк менять не будет...

зачача во всех строках содержащих 16950/954 заменить 115200 на 460800
я не говорил что строки не содержащие 16950/954 можно удалить, их надо оставить 
!

теперь смотрим что я делаю 
> > cat autoserial.conf | grep "16950/954" -v > autoserial.conf.tmp
сохроняю все строки НЕ содержащие "16950/954"
> > cat autoserial.conf | grep "16950/954" | sed 's/115200/460800/g' >>  
> > autoserial.conf.tmp
в ОСТАЛЬНЫХ меняю 115200 на 460800
> > mv autoserial.conf.tmp autoserial.conf
это понятно

пойду потестю что там Alexander Kraev нарисовал.


-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-30 Нитка Alexander Kraev

тогда делаете:
for i in `cat autoserial.conf`; do
 if [ grep "16950/954" $i ... что-то вроде, не помню как в баш ]; then
   sed ... >>
 endif
 echo $i >>
done

что-то вроде, там сами разберетесь.

2007/4/30, Attid <[EMAIL PROTECTED]>:


29.04.07, 16:20, Alexander Kraev :

>cat autoserial.conf | grep "16950/954" |  sed 's/115200/460800/g' >
autoserial.conf.tmp
>mv autoserial.conf.tmp autoserial.conf

>должно сработать, не проверял.

ну почти только остальные строчки мне надо оставить =)

в моем случае  я могу сделать так

cat autoserial.conf | grep "16950/954" -v > autoserial.conf.tmp
cat autoserial.conf | grep "16950/954" |  sed 's/115200/460800/g' >>
autoserial.conf.tmp
mv autoserial.conf.tmp autoserial.conf


но а если нельзя изменять порядок внутри ?? есть выход ?





--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-30 Нитка Евсюков Денис
Не понятен смысл первой строки... Зачем вы берете только строки,  
содержащие данную подстроку и кидаете в файл, если затем из этого файла  
опять фильтруете строки по тому же принципу? В итоге вы просто берете все  
строки данного файла... Первую строку можно смело убирать...
И что значит "изменять порядок внутри"??? Если использовать вторую и  
третью строку вашего скрипта, порядок строк менять не будет...

On Mon, 30 Apr 2007 11:46:17 +0500, Attid <[EMAIL PROTECTED]> wrote:

> 29.04.07, 16:20, Alexander Kraev :
>
>> cat autoserial.conf | grep "16950/954" | sed 's/115200/460800/g' >  
>> autoserial.conf.tmp
>> mv autoserial.conf.tmp autoserial.conf
>
>> должно сработать, не проверял.
>
> ну почти только остальные строчки мне надо оставить =)
>
> в моем случае я могу сделать так
>
> cat autoserial.conf | grep "16950/954" -v > autoserial.conf.tmp
> cat autoserial.conf | grep "16950/954" | sed 's/115200/460800/g' >>  
> autoserial.conf.tmp
> mv autoserial.conf.tmp autoserial.conf
>
> но а если нельзя изменять порядок внутри ?? есть выход ?
>



-- 
Отправлено M2, революционной почтовой программой Opera:
http://www.opera.com/mail/

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-29 Нитка Attid
29.04.07, 16:20, Alexander Kraev :>cat autoserial.conf | grep "16950/954" |  sed 's/115200/460800/g' > autoserial.conf.tmp>mv autoserial.conf.tmp autoserial.conf>должно сработать, не проверял.ну почти только остальные строчки мне надо оставить =)в моем случае  я могу сделать такcat autoserial.conf | grep "16950/954" -v > autoserial.conf.tmp cat autoserial.conf | grep "16950/954" |  sed 's/115200/460800/g' >> autoserial.conf.tmp mv autoserial.conf.tmp autoserial.conf но а если нельзя изменять порядок внутри ?? есть выход ?   

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-29 Нитка Alexander Kraev

cat autoserial.conf | grep "16950/954" |  sed 's/115200/460800/g' >
autoserial.conf.tmp
mv autoserial.conf.tmp autoserial.conf

должно сработать, не проверял.

2007/4/29, Attid <[EMAIL PROTECTED]>:


не дадим теме умереть =)

а как делается такое ?

есть файлик autoserial.conf
в нем строки

/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal
skip_test
/dev/ttyS4 uart 16950/954 port 0xb400 irq 177 baud_base 115200 spd_normal
skip_test
/dev/ttyS5 uart 16950/954 port 0xb408 irq 177 baud_base 115200 spd_normal
skip_test

надо найти все строки содержащие 16950/954 и в них заменить
115200 на 460800

ну и сохранить все на место =)



--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-29 Нитка Attid
не дадим теме умереть =)

а как делается такое ?

есть файлик autoserial.conf
в нем строки 

/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal skip_test
/dev/ttyS4 uart 16950/954 port 0xb400 irq 177 baud_base 115200 spd_normal 
skip_test
/dev/ttyS5 uart 16950/954 port 0xb408 irq 177 baud_base 115200 spd_normal 
skip_test

надо найти все строки содержащие 16950/954 и в них заменить
115200 на 460800

ну и сохранить все на место =)

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-29 Нитка Attid


26.04.07, 19:56, Dmitry Stropaloff <[EMAIL PROTECTED]>:

> И сам скрипт:


ой для таких скриптов мне еще не один кг манов скурить прийдется =)
буду разбираться =) добавил в избранное ;) сенкс

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-29 Нитка Attid
26.04.07, 19:07, Sergei A. Beilin <[EMAIL PROTECTED]>:

> В сообщении от 26 апреля 2007 Attid написал(a):
> > хочу скриптик установленых пакетов в системе у которых в зависимотях ничего
> > нет. смотрел на dpkg но так и не понял как вытащить из него это все.
> "apt-get autoremove" не устроит? ;-)

нет оно не скажет мне что у меня есть vim который обновляется нет нет, а я его 
не разу не запускал.

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-29 Нитка Attid


26.04.07, 18:18, Andrey Teleshov <[EMAIL PROTECTED]>:
> А вот debfoster и deborphan в убунте есть? Они как раз для этого...
> ЗЫ: "всё уже украдено до нас" (с)

оно =) только интерфейс у debfoster ужасный моглибы что-нибуть поинтереснее 
придумать.
спасибо.

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-28 Нитка Aleksey Korotkov
On Fri, 27 Apr 2007 18:27:28 +0400
Alexander Kraev wrote:

AK> Вообще-то он создавался для работы с лентой. Да и как архиватор он
AK> никакой без gzip. Делать тарболы - да, что далеко не архим

Вы путаете архивирование со сжатием. tar именно архиватор.
Архивирование вовсе не подразумевает обязательного сжатия.

-- 
С уважением,
А.В.Коротков,

mailto:[EMAIL PROTECTED]

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-28 Нитка Alexander Kraev

То-то и оно, в общем выхода три:

1. Извращатся с telnet или netcat(nc), писать обработчики и прочее. Незнаю
насколько это удобно и реализуемо.
2. Использовать /dev/tcp вроде этого:
http://thesmithfam.org/blog/2006/05/23/bash-socket-programming-with-devtcp-2/
,  но опять же писать обработчики которые уже написаны в других языках.
3. бросить идею с bash и использовать perl.

и вообще не морочить людям голову, google хорошо ощет по "bash socket",
"bash telnet", "bash netcat" ;)

28.04.07, Strange_V <[EMAIL PROTECTED]> написал(а):


Написано немного не так:
"Для каких задач неприменимы скрипты
* для ресурсоемких задач, особенно когда важна скорость исполнения
(поиск, сортировка и т.п.)
... ... ...
* когда необходимо выполнять обмен через порты ввода-вывода или сокеты
Если выполняется хотя бы одно из вышеперечисленных условий, то вам
лучше обратиться к более мощным скриптовым языкам программирования,
например Perl, Tcl, Python, Ruby или к высокоуровневым компилирующим
языкам -- C, C++ или Java. >>>Но даже в этом случае, создание прототипа
приложения на языке shell может существенно облегчить разработку<<<."
Вот через последние предложение я и не понял может он иль нет..

Интересует простая вещь, например
telnet smtp.mail.ru 25
HELO name
(прочитать ответ)
...
другие команды для отправки почты
(прочитать их ответы)
...
QUIT
Это скорее чтобы показать возможность, чем для реальной работы (делал
на PHP но это немного не то)





--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-28 Нитка Strange_V
> В документации написано что bash умеет работать с сокетами, но мы вам этого 
> не рекомендуем?
> Покажите мне эту строчку. Вызвать любую программу, которая откроет
> сокет, прочитает или еще из него, а после вывод записать в
> переменную bash, ну или написать в bash для этого функцию, опять же
> с вызовом внешних программ - это все на что способен bash. Или я
> чего-то не знаю, покажите мне эту строчку в документации. 
Написано немного не так:
"Для каких задач неприменимы скрипты
* для ресурсоемких задач, особенно когда важна скорость исполнения
(поиск, сортировка и т.п.) 
... ... ...
* когда необходимо выполнять обмен через порты ввода-вывода или сокеты
Если выполняется хотя бы одно из вышеперечисленных условий, то вам
лучше обратиться к более мощным скриптовым языкам программирования,
например Perl, Tcl, Python, Ruby или к высокоуровневым компилирующим
языкам -- C, C++ или Java. >>>Но даже в этом случае, создание прототипа
приложения на языке shell может существенно облегчить разработку<<<."
Вот через последние предложение я и не понял может он иль нет..

Интересует простая вещь, например
telnet smtp.mail.ru 25
HELO name
(прочитать ответ)
...
другие команды для отправки почты
(прочитать их ответы)
...
QUIT
Это скорее чтобы показать возможность, чем для реальной работы (делал
на PHP но это немного не то)
---
Кто не со Мною, тот против Меня; и кто не собирает со Мною, тот расточает. 
/Матфея, 12:30/
С наилучшими пожеланиями, Strange_V


-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-28 Нитка Alexander Kraev

В документации написано что bash умеет работать с сокетами, но мы вам этого
не рекомендуем?
Покажите мне эту строчку. Вызвать любую программу, которая откроет сокет,
прочитает или еще из него, а после вывод записать в переменную bash, ну или
написать в bash для этого функцию, опять же с вызовом внешних программ - это
все на что способен bash. Или я чего-то не знаю, покажите мне эту строчку в
документации.

28.04.07, Strange_V <[EMAIL PROTECTED]> написал(а):


Есть ли возможность из в bash работать с сокетами? Читал Advanced
Bash-Scripting Guide Искусство программирования на языке сценариев
командной оболочки, там не рекомендуется, но все же можно?




--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-28 Нитка Strange_V
Есть ли возможность из в bash работать с сокетами? Читал Advanced
Bash-Scripting Guide Искусство программирования на языке сценариев
командной оболочки, там не рекомендуется, но все же можно?

---
Там, где одни видели абстракцию, другие видели истину. /А.Камю/
С наилучшими пожеланиями, Strange_V


-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-27 Нитка Евгений М . Солодухин
Здравствуйте, Strange_V.

под виндой я попользовал архивирование раром без сжатия файлов старше,
чем 30 дней с удалением пакуемых файлов, затем удаление полученного архива.
)
допускаю, что в линуксе можно интересней
:)

8<-
26 апреля 2007 г., 14:21:36:

> Пишу небольшой скриптик бекапа данных, не знаю как реализовать такое:
> Есть директория с файлами (имена в формате ГГГ.ММ.ДД.tar.bz) нужно
> оставить N из них удалив самые старые.
> И как просто посчитать скока в директории файлов?

> ---
> Есть тысяча способов быть очень дурным человеком, не нарушая ни одного 
> закона. /Анна Сталь/
> С наилучшими пожеланиями, Strange_V





-- 
С уважением,
 Евгений  mailto:[EMAIL PROTECTED]



-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка SerP MoloT

> Прям сказка про репку, бабка за дедку... жучка за внучку...
>   
Unix-way ;)

По теме - мне кажется что нужно смотреть в сторону find - проще будет. 
Конечно, это если даты создания файлов соотносятся с датами, написанными 
в их названиях.

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Dmitry Stropaloff
В сообщении от Четверг 26 апреля 2007 14:41 Attid написал(a):
> подпишусь в тему
> хочу скриптик установленых пакетов в системе у которых в зависимотях ничего
> нет. смотрел на dpkg но так и не понял как вытащить из него это все.
>
> логика понятна. надо получить список всех покетов
> и проверить все на зависимости, если от них ничего не зависит вывести на
> экран. как реализовать не очень понимаю.
>
> ЗЫ первым делелом должен вывести "ubuntu-desktop" =)
> причина, хочу поудолять лишнее из системы чтоб не обновлять всякие
> неиспользуемые пакеты =)

Во-первых надо смотреть в сторону утилиты deborphan - она есть в universe. Ну 
а уж если не подойдет, то вот есть такой мой наколенный скрипт. Правда для 
rpm-ных систем с аптом, но там небольшая корректировка. dpkg должен отдать 
список в виде:
leafpad
perl-IO-Zlib
iso-codes
psutils
gnome-utils
и т.д. Дальше уже аптом проверяется каждый пакет на наличие обратных 
зависимостей. Но надо осторожнее, потому как поломать что-то очень легко - не 
всегда зависимости напрямую прописаны в пакете. И сам скрипт:

#!/usr/bin/env python

from os import *
from subprocess import *
import re

def get_installed_packages():
# get installed packages list from rpm
print "Reading installed packages list..."

cmd = 'rpm -qa --queryformat %{NAME}"\n"'
bufsize = 512
p = Popen(cmd, shell=True, bufsize=bufsize, stdin=PIPE, stdout=PIPE, 
stderr=PIPE, close_fds=True)
cmd_buf = p.stdout.read()

print "Done!"
return cmd_buf
# end of "get_installed_packages()"

def search_orphans(list):
# search for packages without reverse dependencies
print "Searching for packages without reverse dependencies..."

# generating list from list
pkg_list = list.split("\n")

# cycle through packages
bufsize=512
cond_re = re.compile(r'.*Reverse\sDepends:\s\nDependencies:.*')
for pkg_name in pkg_list:
cmd = 'apt-cache showpkg ' + pkg_name
p = Popen(cmd, shell=True, bufsize=bufsize, stdin=PIPE, stdout=PIPE, 
stderr=PIPE, close_fds=
True)
cmd_buf = p.stdout.read()
if re.search(cond_re, cmd_buf) != None:
print pkg_name
# end of "search_orphans()"

if __name__ == "__main__":
pkg_list = get_installed_packages()
search_orphans(pkg_list)

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Sergei A. Beilin
В сообщении от 26 апреля 2007 Attid написал(a):

> хочу скриптик установленых пакетов в системе у которых в зависимотях ничего
> нет. смотрел на dpkg но так и не понял как вытащить из него это все.

"apt-get autoremove" не устроит? ;-)

-- 
С уважением, Сергей Бейлин
Jabber ID: [EMAIL PROTECTED]
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Andrey Teleshov
On Thu, 26 Apr 2007 15:41:34 +0400
Attid <[EMAIL PROTECTED]> wrote:

> 
> подпишусь в тему 
> хочу скриптик установленых пакетов в системе у которых в зависимотях ничего 
> нет.
> смотрел на dpkg но так и не понял как вытащить из него это все.

Дык "у которых в зависимотях ничего нет" или всё-таки "которые ни от
кого не зависят" ?

> причина, хочу поудолять лишнее из системы чтоб не обновлять всякие 
> неиспользуемые пакеты =)

А вот debfoster и deborphan в убунте есть? Они как раз для этого...

ЗЫ: "всё уже украдено до нас" (с)

-- 
Андрей Телешов

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Alexander Kraev

А фиг получится, забудьте про proc и соревнование :)

26.04.07, Alexander Kraev <[EMAIL PROTECTED]> написал(а):


И вообще лучше устроить соревнование кто придумает как сосчитать все файлы
в определенной директории быстрее, это раз. и чем короче команда - тем два.
и взять к примеру нетральную /proc для сравнения результатов.





--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Alexander Kraev

Козе понятно, правильное решение - додумывать самому. Для тех, кто не любит
это дело:

FILES_COUNT=`find . -maxdepth 1 -mindepth 1 -type f | wc -l | tr -d
'[:space:]'`;
echo $FILES_COUNT

И вообще лучше устроить соревнование кто придумает как сосчитать все файлы в
определенной директории быстрее, это раз. и чем короче команда - тем два. и
взять к примеру нетральную /proc для сравнения результатов.

2007/4/26, Alexander Smirnov <[EMAIL PROTECTED]>:




Не правильное решение, результат будет больше на 1 ;-)





--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Strange_V
> ls -l - получить список файлов, вывод отдать awk, чтобы выбрать из всей
> информации имя файла, вывод отдать sed чтобы убрать точки и расширение
> tar.bz, вывод отдать sort, чтобы выбрать N самых старых - head, чтобы 
> сформировать имя файла - sed, получившееся xargs rm
> :-D

> сколько файлов в директории - читать ман по ls, есть ключик для этого

Прям сказка про репку, бабка за дедку... жучка за внучку...
Буду читать маны, если чего не выйдет буду спрашивать :)

---
Настоящая тяжесть невидима. Истинная сила неощутима. /Авессалом Подводный/
С наилучшими пожеланиями, Strange_V


-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Attid

подпишусь в тему 
хочу скриптик установленых пакетов в системе у которых в зависимотях ничего нет.
смотрел на dpkg но так и не понял как вытащить из него это все.

логика понятна. надо получить список всех покетов
и проверить все на зависимости, если от них ничего не зависит вывести на экран.
как реализовать не очень понимаю.

ЗЫ первым делелом должен вывести "ubuntu-desktop" =)
причина, хочу поудолять лишнее из системы чтоб не обновлять всякие 
неиспользуемые пакеты =)

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Alexander Smirnov
On Thursday 26 April 2007 14:38, Alexander Kraev wrote:

> 2. ls -l | пропустить через grep | wc -l

Не правильное решение, результат будет больше на 1 ;-)



--
This e-mail message is for the sole use of the intended recipient(s) and 
contains confidential and/or privileged information belonging to
Five 9, Inc. or its customers or partners. Any unauthorized review, use, 
copying, disclosure or distribution of this message is strictly
prohibited. If you are not an intended recipient of this message, please 
contact the sender by reply e-mail and destroy all soft and hard
copies of the message and any attachments.
Thank you for your cooperation.
--
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Alexander Smirnov
ls -l - получить список файлов, вывод отдать awk, чтобы выбрать из всей 
информации имя файла, вывод отдать sed чтобы убрать точки и расширение 
tar.bz, вывод отдать sort, чтобы выбрать N самых старых - head, чтобы 
сформировать имя файла - sed, получившееся xargs rm
:-D

сколько файлов в директории - читать ман по ls, есть ключик для этого

On Thursday 26 April 2007 14:21, Strange_V wrote:
> Пишу небольшой скриптик бекапа данных, не знаю как реализовать такое:
> Есть директория с файлами (имена в формате ГГГ.ММ.ДД.tar.bz) нужно
> оставить N из них удалив самые старые.
> И как просто посчитать скока в директории файлов?
>
> ---
> Есть тысяча способов быть очень дурным человеком, не нарушая ни одного
> закона. /Анна Сталь/ С наилучшими пожеланиями, Strange_V



--
This e-mail message is for the sole use of the intended recipient(s) and 
contains confidential and/or privileged information belonging to
Five 9, Inc. or its customers or partners. Any unauthorized review, use, 
copying, disclosure or distribution of this message is strictly
prohibited. If you are not an intended recipient of this message, please 
contact the sender by reply e-mail and destroy all soft and hard
copies of the message and any attachments.
Thank you for your cooperation.
--
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Alexander Kraev

ну тут хоть ls -l, хоть ls -1 не помогут, хотябы так
ls -l | egrep -v "^d" | wc -l
или то что написал в пред письме

26.04.07, Igor Goldenberg <[EMAIL PROTECTED]> написал(а):


26.04.07, Strange_V<[EMAIL PROTECTED]> написал(а):

> И как просто посчитать скока в директории файлов?

ls -1 | wc -l

Дальше можно почитать ман на ls, посмотреть ключи сортировки, почитать
про head/tail, всё это "законвеерить" и получить список файлов. Ну это
так, в общих чертах...





--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Alexander Kraev

1.  можно с помощью find и -atime или -ctime сделать сортировку и выбрость
ненужно
тоже самое можно сделать с помощью ls -ltr и сортировкой и head
найти файлы по шаблону с помощью find, в шаблоне указать нужные вам YY.MM,
далее сортировка и head
2. ls -l | пропустить через grep | wc -l
find . -name *.*.*.tar.bz | wc -l


26.04.07, Strange_V <[EMAIL PROTECTED]> написал(а):


Пишу небольшой скриптик бекапа данных, не знаю как реализовать такое:
Есть директория с файлами (имена в формате ГГГ.ММ.ДД.tar.bz) нужно
оставить N из них удалив самые старые.
И как просто посчитать скока в директории файлов?

---
Есть тысяча способов быть очень дурным человеком, не нарушая ни одного
закона. /Анна Сталь/
С наилучшими пожеланиями, Strange_V


--
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru





--
Alexander Kraev
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Скрипт на bash

2007-04-26 Нитка Igor Goldenberg
26.04.07, Strange_V<[EMAIL PROTECTED]> написал(а):

> И как просто посчитать скока в директории файлов?

ls -1 | wc -l

Дальше можно почитать ман на ls, посмотреть ключи сортировки, почитать
про head/tail, всё это "законвеерить" и получить список файлов. Ну это
так, в общих чертах...
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru