MotoFan.Ru — всё для Motorola > Устройства Motorola > Motorola на Linux OS

Написание скриптов #!/bin/sh for UNIX Полная версия
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13

 no av Osta

 13.7.2011, 13:17

а не на php парсеры есть ?

 av Pyth_ON!

 13.7.2011, 16:08

Цитата(Osta @ 13.7.2011, 13:17) *

а не на php парсеры есть ?

Могу собрать минимальный бинарик php... smile.gif
А так можно переписать с использованием sed и grep...

 no av Osta

 13.7.2011, 16:55

Цитата(Pyth_ON! @ Сегодня, 19:08)
* можно переписать с использованием sed и grep

и кто бы показал Так Было - Так Стало )? интересует случайная цитата башорга

 av VINRARUS

 18.7.2011, 11:06

Вот нашол способ быстрее считывать параметры с конфигов! Правда поздновато я ето надумал, но в сеже может комуто пригодиться. wink.gif
Так ето делалося:
Код
ET=`sed -n -e '/^swapT = /p' $CFGPATH | awk '{print $3}'`

А вот мой вариант:
Код
ET=`sed -e '/^swapT = /!d' -e 's/^swapT = //' $CFGPATH`


Вот напишу принцып работы для тех кому ето интересно. smile.gif Преимущества 2го варианта в скорости выполнения. Путем отсутствия конвеера (конвеер-ето строчка с набором разных команд которые выполняються по очереди и раздиляються отакой палкой "|"). И если раньше одна програма искала строчку с параметром, а вторая удаляла название параметра, то щас только одна програма ето делает, по етому затраченое время на нее меньше.
Ну канечно если скрипт читает 1-2 параметра, то прироста от скорости не густо, но если их например 20 шт, то и разница будет гдето секунд 5-7.
Например так можно ускорить загрузку всего мода минимум на 5 сек.

 av igoripp

 19.7.2011, 16:48

Знающие люди, подскажите. sh поддерживается всеми системами UNIX. Если применять bash, то он 100 процентов подойдет для использования на телефоне е8? Файл bash у нас есть по адресу /bin/bash, но слышал что bash постоянно обновляется, И отсюда этот вопрос. Или считаете, что лучше не выпендриваться и знать sh?

 av VINRARUS

 19.7.2011, 18:29

Я за sh, так как он поддерживаеться гарантировано везде где наследил линукс.
Ну и он проще и понятнее за bash.

 no av Osta

 26.7.2011, 12:34

Код
Name=`date +%H:%M@%d%a-`


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

 av VINRARUS

 26.7.2011, 14:23

Разделив 1 команду на 2:
Код
Name="`date +%H:%M` `date +%d%a-`"

или взяв в лапки:
Код
Name=`date '+%H:%M %d%a-'`

 no av Osta

 26.7.2011, 16:05

VINRARUS, спасибо, работает !

А можно это переложить на sh ?

Spoiler:


_http://bash.org.ru/random - по этой ссылке уже выдаются случайные цитаты, что для нас очень удобно! Пишем такой код:

Код
$borgs=file_get_contents( "http://bash.org.ru/random" );
preg_match( '/<div>(.*?)<\/div>/is', $borgs, $borg );
$simchm2 = array("<br />", "<br>");
$borg=str_replace($simchm2,"\n", $borg);
$borg=htmlspecialchars_decode ($borg[1]);
echo($borg);


Это рабочий код -, мы украли цитату smile.gif Теперь давайте разбирать всё по очереди wink.gif "$borgs=file_get_contents( "http://bash.org.ru/random" );" - мы выкачиваем исходный код страницы и записываем его в переменную. После этого мы режем первый попавшийся код на этой странице, который находится в скобках заданных нами "preg_match( '/<div>(.*?)<\/div>/is', $borgs, $borg );"
"$simchm2 = array("<br />", "<br>");" - здесь мы делаем массив, где режем html-теги (массив для того, чтобы не писать одну и ту же строку много раз...)
Далее нам нужно заменить html-теги на нужный нам формат (который работает в аське/блокноте и т. д.) "$borg=str_replace($simchm2,"\n", $borg);" - этой строкой мы и заменяем... После чего заменяем html-пробелы, двоеточия и т. д. на нормальный человеческий вид (если Вам по аське придёт html-тег, вы навряд ли поймёте, что это: запятая или пробел... =) ) В php уже за нас сделали удобную функцию, котороя это делает: "$borg=htmlspecialchars_decode ($borg[1]);" "$borg[1]" - потому что у нас в массиве есть 2 вида, один не полностью обрезан, второй обрезан...
Ну и естественно, нам надо вывести то, что получили, посмотреть - как да что =) : "echo($borg);" Всё =) Да, и ещё: если Вы будете выводить на сайте (через браузер), то Вам хватит:

Код
$borgs=file_get_contents( "http://bash.org.ru/random" );
preg_match( '/
(.*?)<\/div>/is', $borgs, $borg ); echo($borg);


Поздравляю, у нас есть случайная цитата с http://bash.org.ru!

[close]

 av VINRARUS

 26.7.2011, 17:55

Тут очень глубокие знания нада, да еще и не только в sh.

 no av Osta

 26.7.2011, 19:43

смотри : скачиваем файл http://bash.org.ru/random,
открываем его на редактирование , удаляем всё что ДО слова утверждена включительно ,
удаляем всё , что ПОСЛЕ слов <hr class="iq"> включительно

Так можно сделать?

 av VINRARUS

 27.7.2011, 5:41

я не знаю как на sh качать файлы с нета.
А без скачивания нильзя?

EXL:
Код
wget http://bash.org.ru/random  

И пишешь парсер html кода. Всё это есть в интернете

 av igoripp

 27.7.2011, 9:47

А кто подскажет как провернуть одно дело? Есть файл log.txt, в нем последовательность строк, состоящих из одного символа. Мне надо, чтоб в файл gol.txt поместилась одна строка из этих символов, без каких-либо разделительных символов)

 av IlluminatI

 27.7.2011, 12:15

igoripp, на Си где-то был исходник, могу впринципе собрать, на sh увы, не знаю...

 av VINRARUS

 27.7.2011, 12:40

igoripp, ето выдаст все в 1 строчку
tr -d "\n"

 no av Osta

 27.7.2011, 12:44

Цитата(VINRARUS @ Сегодня, 8:41)
* А без скачивания нильзя?

напиши как будто он тут /var/etc/file.html

 av igoripp

 27.7.2011, 13:18

VINRARUS, a как этим пользоваться? Конструкция вида: tr -d "\n" gol.txt>>ink.txt нем работает(

 av VINRARUS

 27.7.2011, 13:51

cat 1.txt | tr -d "\n" > 2.txt
отак.

 av igoripp

 27.7.2011, 14:58

Так тоже не работает( вопрос по-прежнему открыт...

 av VINRARUS

 27.7.2011, 15:56

igoripp,
у меня работает.
Надеюся ты вместо 1.ТХТ и 2 поставил полные пути к файлам.
Попробуй так.
busybox cat 1.txt | busybox tr -d "\n" > 2.txt
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13

Полная версия:


MotoFan.ru (©) 2024    Слушать Radio