хочу сюди!
 

Ліда

50 років, водолій, познайомиться з хлопцем у віці 46-56 років

Замітки з міткою «скрипты»

От это я сегодня выдал умняка

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

Две бессонных недели - и сегодня посетило озарение. Элегантный скрипт, которым я уже переименовал в своем компе все, что только можно (шутка).

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


Doppler = гарный линуксоид

Если нужен реально работающий скрипт, то строчку №46 надо раскомментить. Кому нужен исходник не в виде фотки, а текстом - то вот (но строчку 46 надо-таки раскоментить)

== begin file
#!/bin/bash

E_BADARGS=65 ## Это просто номер ошибки для выхода без параметров - понты
logfile="renamed_files.log"

if [ ! -n "$1" ]; then
  echo "Для переименования необходимо указать имя одного или нескольких файлов или их маску : `basename $0` file1 file2 (*.jpg *.png *.txt)"
  exit $E_BADARGS
fi

echo "#!/bin/bash" > $logfile
echo "##                    !!! Важная иноформация !!!" >> $logfile
echo "## Этот файл был создан в результате выполнения скрипта для переименования файлов в уникальное навсегда для этого файла имя." >> $logfile
echo "## Для того, чтобы отменить преименования, просто запустите этот сценарий." >> $logfile
echo "## Чтобы его запустить, нужна минимальная Линукс-подготовка, но если её нет," >> $logfile
echo "## то просто запустите в терминале каждую строчку этого файла по очереди" >> $logfile
echo "## или запустите данный файл из терминала. Типа [ bash renamed_files.log ]" >> $logfile
echo "## В любом случае (даже если Вы конченный дебил) тут содержатся имена оригинальных и переименованных файлов и флаг вам всем в очумелые ручки" >> $logfile


filelist=$*

for filename in $filelist ; do

    change_str=( `stat -c %y $filename` ) ## время последней модификации файла в виде 2015-06-27 16:07:54.243461522 +0300
    change_str=${change_str[0]}"-"${change_str[1]} ## объединяем два первых параметра (отсчет с нуля)
    change_str=${change_str//:/\^} ## заменяем : на ^

    newname=$change_str
    extension=${filename##*\.}  ## получаем расширение после последней точки (если она есть)

    if [ ${#extension} -ge ${#filename} ] ; then
        extension="" ## если точки нет, то нет и расширения
    else
        extension="."$extension ## иначе добавляем перед расширением точку
    fi

    newname=$newname$extension

    echo $filename " переименован в " $newname

    echo "mv $newname $filename" >> $logfile

    ## !!!!!!!!!! следующую строчку в реально работающем скрипте нужно раскомментить
    #mv $filename $newname
    ## !!!!!!!!!!

done

echo "    "
echo "    "
echo "                  переименование файлов закончено"
echo "          ============================================"
echo "для того, чтобы отменить преименования, откройте log-файл (а по сути готовый скрипт) "$logfile ", для чего необходимо минимальное знание Линукса, и прочтите хрень, которая внутри его содержится"
echo "                   ----- C уважением, Ваш Допплер -----"

exit
=== end оf file


Map

Невзирая. Фанатам xneur от меня подарок

Невзирая...

Free Image Hosting at FunkyIMG.com

Согласен - 51-ая годовщина появления меня на свет Божий - не самый удачный день для кодинга, реверсинга и программинга (извините за вульгаризмы).

Но так уж вышло, что xneur меня достал. В свое время и punto switcher тоже достал под виндой.Но то ведь винда , а это - линукс.

Уже месяц примерно шныряю по интернетам на эту тему. Никто не знает, как глюки xneural c внезапным остановом демона победить. а проект уже заброшен. Автор сам для себя все проблемы решил и его все устраивает. Я его прекрасно понимаю, ибо много подобных проэктов зачал, раскрутил и забросил, потеряв интерес, потому как устраивает.

Но xneural реально достал и мозги уже эрегировались до неприличности. А сегодня вдруг после бокала каберне меня осенило. И вот засел я такой весь одухотворенный за комп часа на три довольно плотно после обеда и таки выродил своего, анти-демона. Мой демон контролирует демона xneural. Все работает - на ура.  Единственный минус - мой демон настолько сильно контроллирует другого, что стандарный пункт меню "остановить демон" перестает работать вообще. Не верите - проверьте. Поэтому единственный способ остановить автопереключение - это зайти в настройки и установить галочку "включить ручной режим переключения".

Почему сам автор не удосужился проверять - вываливается или нет xneur из списка процессов - для меня загадка. Но за него я сделал это. Вот скрипт, который нужно запустить в автозапуске. И ВСЕ БУДЕТ ПУЧКОМ.

Честно.


Free Image Hosting at FunkyIMG.com
Map
===
#!/bin/bash
while true; do
    a=`ps -A | grep "xneur"`
    b=`ps -A | grep "gxneur"`
    if [ "$a" == "$b" ] ; then
#        demon not running, now restarting
        xneur -f &
        sleep 10
    fi
done
===
Согласитесь, что все гениальное - очень просто и жутко изящно. Почти, как Е=МС в квадрате

Протрахаться целый день - круто. Линукс



Сегодня почти весь день трахался с компом. Решил сдуру его перегрузить. Накопилось. Обычно неделями работает, но сегодня вдруг подумал: пора - пусть проверит винт на ошибки и вообще. После перезагрузки перестал грузиться Cinnamon и ничего не помогало. Полез в интернет, много читал.

Часа через четыре довольно рискованных экспериментов оказалось, что это обновился драйвер Нвидеа видеокарты пару недель назад. Но все это время комп работал (поэтому драйвер и не обновился), а перезагрузился я только сегодня. Пришлось перейти на внутренний драйвер xserver-xorg-video-nouveau. Помогло. Где взять нормальный драйвер родной видеокарты не знаю, но мне пофиг - ни в какие игры не играю, просто обидно.

Все бы ничего, но возникла еще одна новая трабла - после ухода монитора в засыпание комп перестал реагировать вообще. Ни на движения мышкой, ни на любые клавиатурные комбинации. Глухо. Черный экран, мертвый комп. Только железный резет.

Короче, день был очень интесивный. Все манипуляции с настройками не приводили ни к чему. Искусственное введение монитора в спячку из коммандной строки - выводится из спячки любым прикосновение. А когда система его гасит сама,- комп умирает.

Пришлось всё переделать, убрать усыпание монитора из настроек вообще и написать скрипт, который будет гасить монитор через десять минут. Все работает. Я снова доволен, ведь я целый день трахался. А это очень приятно.
Map

Ужасный ослик сожрал ехидну



Ужасный ослик сожрал ехидну

Линукс, bash, скрипты, компы, паразиты мозга

Сегодня весь день протрахался с Линуксом. Хотя начал возбуждаться еще надысь. Достали меня все эти автопереключалки не c той раскладки. Вообще все достало. Жутко захотел забацать какой-нибудь скрипт, чтобы если я целый абзац нафигачил не на том языке, то уж очень жутко и в облом вспоминать, что-же такого гениального я выдал экспромтом в порыве гениальности. А пытаться выблевать заново гениальную мыслю - всегда голимая пурга и геморрой. Захотелось какой-то магии - типа нажать на волшебную кнопку "сделать все пиздато" и чтобы весь выделенный текст заменился на нормальный. Ну, типа того, что 

E;fcysq jckbr cj;hfk t[blye b gj'njve cnfk jxtym t[blysv/ "nj jnrhsnbt tuj nfr gjnhzckj? xnj jy dsdtk wtke. cbcntve - c]tim ujhxbwe - jujhxbicz b n/l/

заменится на вот такое

Ужасный ослик сожрал ехидну и поэтому стал очень ехидным. Это открытие его так потрясло, что он вывел целую систему - съешь горчицу - огорчишся и т.д.

Тут есть предистория - так и не научился слепому набору, но уткнувшись в клаву - херачу ОГО-ГО. А потом иногда как глаза подниму на монитор - ну ни хера себе нахерачил !!! Все слова не в той раскладке. Поэтому лично для меня - актуально.

Протрахался крепко. Пришлось копать в глубины bash, привлекать сторонние проги, но скрипт родился примерно час назад. Устал, как собака, но безмерно счастлив. Никакой автозамены и тупых инструкций. Никаких тормозов. Абсолютно прозрачно - набрал не в той раскладке целый абзац или даже страницу - не боись, а делай три простых движения: 
1. скопировать
2. вызвать мою прогу (Alt-F2 или ярлыком)
3. вставить. 

Балдею.

Скрипт прилагается (это под Линукс)

Единственное уточнение - нужно установить xsel - это легко 
"sudo apt install xsel"

----
#!/bin/bash
clipboard="$(xsel -b)"
clipZ=${#clipboard}
tmp=$clipboard
tmp=${tmp//q/й}
tmp=${tmp//w/ц}
tmp=${tmp//e/у}
tmp=${tmp//r/к}
tmp=${tmp//t/е}
tmp=${tmp//y/н}
tmp=${tmp//u/г}
tmp=${tmp//i/ш}
tmp=${tmp//o/щ}
tmp=${tmp//p/з}
tmp=${tmp//[/х}
tmp=${tmp//]/ъ}
tmp=${tmp//a/ф}
tmp=${tmp//s/ы}
tmp=${tmp//d/в}
tmp=${tmp//f/а}
tmp=${tmp//g/п}
tmp=${tmp//h/р}
tmp=${tmp//j/о}
tmp=${tmp//k/л}
tmp=${tmp//l/д}
tmp=${tmp//;/ж}
tmp=${tmp//"'"/э}
tmp=${tmp//z/я}
tmp=${tmp//x/ч}
tmp=${tmp//c/с}
tmp=${tmp//v/м}
tmp=${tmp//b/и}
tmp=${tmp//n/т}
tmp=${tmp//m/ь}
tmp=${tmp//,/б}
tmp=${tmp//./ю}
tmp=${tmp//Q/Й}
tmp=${tmp//W/Ц}
tmp=${tmp//E/У}
tmp=${tmp//R/К}
tmp=${tmp//T/Е}
tmp=${tmp//Y/Н}
tmp=${tmp//U/Г}
tmp=${tmp//I/Ш}
tmp=${tmp//O/Щ}
tmp=${tmp//P/З}
tmp=${tmp//{/Х}
tmp=${tmp//}/Ъ}
tmp=${tmp//A/Ф}
tmp=${tmp//S/Ы}
tmp=${tmp//D/В}
tmp=${tmp//F/А}
tmp=${tmp//G/П}
tmp=${tmp//H/Р}
tmp=${tmp//J/О}
tmp=${tmp//K/Л}
tmp=${tmp//L/Д}
tmp=${tmp//:/Ж}
tmp=${tmp//'"'/Э}
tmp=${tmp//Z/Я}
tmp=${tmp//X/Ч}
tmp=${tmp//C/С}
tmp=${tmp//V/М}
tmp=${tmp//B/И}
tmp=${tmp//N/Т}
tmp=${tmp//M/Ь}
tmp=${tmp//</Б}
tmp=${tmp//>/Ю}
tmp=${tmp////.}
tmp=${tmp//"?"/,}
tmpZ=${#tmp}
let "tmpZ-=3"
tmp1=${tmp:0:tmpZ}
echo -n $tmp1 | xsel -b -i
exit 0
----
Map

Унитаз без электричества будет работать? И про Линукс

Free Image Hosting at FunkyIMG.com

Я очень коротко и тезисно. Уж извините.

Таки Линукс - определенно для красноглазиков. Уже неделю ломаю голову, почему мобильный интернет перестал подключаться сам. Сегодня  наконец "присел за комп на полчасика". Каким-то одному ему известным образом ОН (линукс) сменил язык и строки

             nmcli -t -f TYPE,STATE dev | grep "^cdma:disc"
             if [ $? -eq 0 ]; then

работать перестали. Только через ручные пытки терминала понял, что теперь не disconnected, а

             nmcli -t -f TYPE,STATE dev | grep "^cdma:отключено"
             if [ $? -eq 0 ]; then

Ладно, исправил и забыл. Век живи, век учись. Но неприятный осадочек остался.

Утром не было электричества. Энергоблок Запорожской АЭС ремонтировали. Зато как было тихо. Мечта....

И хер с ним. Что ни телевизора для жены, ни компьютера с твиттером для меня. Вот просто здоровая воскресная тишина. Но и ту блин, слишком быстро испортили. Включился, чтоб его,  и телевизор, и жужалки всякие...

Кстати, прикольно. Электричество кончилось, когда я уже проснулся, но еще не хотел вставать. А раз уж кончилось, то вставать резко перехотел и насильно себя удерживал под одеялком очень долго, пытаясь еще несколько сновидений посмотреть. Удалось, кстати.

А когда выполз (а свет еще не врубили), то пошел пИсать до конца не проснувшись. И так проглючил в тубзике, что завис и задумался... Смывать или нет? Унитаз без электричества будет работать?

Прикольный глюк.

Потом ходили в Амстор. Облом. Ни помидоров, ни банок. По пути звонил Мальвине Степановне насчет гаража. От жеж ведьма. Одного звонка хватило, чтобы впридачу ко всему и так имеющемуся и цветущему обнаружился еще один медицинский прикол. Он интимный, так что промолчу.

Ведьма. Ведьма, ведьма, ведьма.

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

И про кое-что еще. Придется снова ходить с костылем. Ну, реально выходит, что без него тяжело. И десятилитровое ведро, пожалуй, тоже купим. И в него огурцов засолим.

И еще чуток. Есть такой приблуд для чтения электронных книг - CoolReader3. Вот не могу найти самую последнюю версию и сделать так, чтобы та пумпочка, которая показывает где ты сейчас была внизу. Очень хочется.

У Чухи снова гульки.
Горох замочил.
Куриные пупочки (желудочки) тоже, но в красном вине.
Еще 2 литра томатного сока.
Надежде Федоровне (соседка, 83 года) конфеток диабетических пару пакетиков задарили.
Она (НФ) нам несъедобных баклажанов.

Всем любви и не болеть.
Map

Кокос.

 
 Счастливые обладатели машин под управлением Виндоус почти не знают хлопот со своей операционной системой, раз в пять лет меняя драйвер в наихудшем случае. У пользователей Убунту такой необходимости нет, потому что никаких драйверов в системе нет, а ещё вайфай сигнал Убунту не так крепко держит, но ловит дальше, и самое важное отличие лежит в кнопке пуск, в Линуксе нет ужасной команды перезагрузить, её заменяет перезапуск. Мелочь, но приятно. Это и есть основные различия, и именно так системы ведут себя при просмотре карт, и обзора улиц всем известной корпорации Гугл, если у Виндоус нет проблем, то Линукс попросту не работает или останавливается, во втором случае помогает только чёрная кнопка отключения, причём, это всё сопутсвуется характерным скрежетом в районе жёсткого диска. Это серьёзный недостаток, но один-единственный. Системы не очень дружелюбно настроены и при перезапуске, при переходе с Линукса на Виндоус, может отказывать звуковой драйвер, в таком случае нужно выключать машину, а не перезапускать.

Сногсшибательные успехи

Free Image Hosting at FunkyIMG.com

Map
Испытывал, переделывал, доделывал. Утрахался в жопу. Вроде работает.

Сегодня в реальном времени наконец-то испытал очень серьезное изменение в скрипте. Часа три потратил - пришлось даже вечерним спортом пожертвовать. Тестировал, как максимально деликатно определить, на какой заднице проблема. Это мобильный интернет-модем подвисает или провайдер шалит? 

То есть -  стоит ли в отстутствие (или -вии?) меня перезагружать автоматическим скриптом комп, когда другие попытки переконнектить модем без интернета тщетны. Изощренный скрипт.

Это все потому, что когда теряется видео контакт с Чухой, то я начинаю нервничать.

Теперь он (мой компьютер) при потере связи с FTP сервером, (который еще и мой хостинг http://doppler.inf.ua) должен пытаться перезагрузить\переконнектить модем. А если это не удастся после пяти попыток в пяти подходах, то после примерно двенадцати минут скрипт проверит - а вообще-то подключен ли модем к компу и есть ли интернет вообще. Или все умерли. Если подключен - то продолжаем пытаться (а что еще делать в отсутствие хозяина?). И так до бесконечности. Либо принудительно перезагружаем комп, либо ждем главного по-тарелочкам. То есть, меня.

Ну осталось только доделать еще одну фигню. Когда из-за дешевого китайского ЮСБ-хаба начинает дохнуть одна из вебкамер. Вот это еще доделаю и можно вообще умирать к компу не подходить. Уже вообще все будет сам делать.