Skip to content

Instantly share code, notes, and snippets.

@sagax
sagax / remor_cabal_packages.sh
Created February 28, 2018 04:41
if your need removed all cabal packages after "rm -rf ~/.cabal"
for item in $(cabal list --installed --simple-output | awk '{print $1}');do ghc-pkg unregister $item; done
@sagax
sagax / zipper_code.awk
Last active February 26, 2018 16:04
zip awk code to one line
{
gsub(/^\s+/, "", $0);
gsub(/\s+=\s+/, "=", $0);
gsub(/if\s+/, "if", $0);
gsub(/\s+\|\|\s+/, "||", $0);
gsub(/\)\s+{/, "){", $0);
gsub(/}\s+/, "}", $0);
gsub(/\s+{/, "{", $0);
gsub(/\s+\(/, "(", $0);
printf("%s", $0);
@sagax
sagax / renamer.awk
Last active January 28, 2018 01:13
to rename strange file name
ls | awk '/\.webm$/{original=$0; split($0, s, ""); line=""; for(i in s){ if (s[i] ~ /([a-zA-Z0-9]|\s|\.|-)/) {line=line s[i]; }}; split(line, nline, "-"); oleft=nline[1]; left=nline[1]; right=nline[2]; left=tolower(left); sub(/^\s+/, "", left); sub(/(^\s+|\s+$)/, "", left); print original " >> " left"-"right }'
# example
# ► 1 HOUR CHILLSTEP MIX JANUARY 2015 ◄ ~( ̄▽ ̄)~-_0kAYDIyIyo.webm >> 1 hour chillstep mix january 2015-0kAYDIyIyo.webm
# ► 1 HOUR MELODIC DUBSTEP MIX JANUARY 2015 ◄ ~( ̄▽ ̄~)-Cd9hekSTYAE.webm >> 1 hour melodic dubstep mix january 2015-Cd9hekSTYAE.webm
# ► BEST OF CHIPTUNE MIX FEBRUARY 2015 ◄ ~( ̄▽ ̄)~-Ik7VvFDs9pw.webm >> best of chiptune mix february 2015-Ik7VvFDs9pw.webm
# ► BEST OF GLITCH HOP JANUARY 2015 ◄ (~ ̄▽ ̄)~-vu7YJGiiZX4.webm >> best of glitch hop january 2015-vu7YJGiiZX4.webm
@sagax
sagax / linerewritten.awk
Last active November 4, 2017 19:30
to overwrite the line in many files with awk
#!/usr/bin/awk -f
# GNU Awk 4.1.4, API: 1.1
# GNU bash, версия 4.4.12(1)-release (i586-suse-linux-gnu)
#
# copy linerewriter.awk to $HOME/bin/
# added chmod +x $HOME/bin/linerewriter
# run linerewriter
#
# linerewriter target_dir_with_files Foo Bar
# Foo will be rewritten as Bar
@sagax
sagax / vim_article-1.md
Last active February 2, 2019 19:00
vim article-1

Такого еще не было на данном ресурсе, и надеюсь, что сообщество поддержит инициативу. Есть предложение, сделать живую статью, в которой все мы будем выкладывать клавиатурные сочетания, которые каждый из нас использует в повседневной работе с Vim. Я обязуюсь анализировать комментарии и добавлять в статью новые клавиатурные сочетания. Если клавиатурное сочетание использует какой-то плагин, то указываем его имя.


Навигация:

  • ge - перейти к концу предыдущего слова

Замена текста:

@sagax
sagax / parse_dpmaster.deathmask.net.awk
Last active May 13, 2022 23:43
Parser to dpmaster.deathmask.net based on awk
#!/usr/bin/awk -f
# GNU Awk 4.1.4, API: 1.1
#
# GNU bash, версия 4.4.12(1)-release (i586-suse-linux-gnu)
#
# curl 7.55.0 (i586-suse-linux-gnu) libcurl/7.55.0 OpenSSL/1.0.2l zlib/1.2.11
# libidn2/2.0.4 libpsl/0.18.0 (+libidn2/2.0.3) libssh2/1.8.0 nghttp2/1.25.0
#
# HOW TO USE
#
@sagax
sagax / find.sh
Created September 21, 2017 06:23
example to find
find /directory -type f -newermt "2014-10-08 10:17:00" ! -newermt "2014-10-08 10:53:00"
@sagax
sagax / noize.sh
Created June 6, 2017 20:24
Listening to slow and calm music
#!/bin/bash
# music player from 7oom.ru
# to listen next track just type "q"
list_url=($(curl -s http://7oom.ru/ | awk 'BEGIN {FS="\"*\""} /^<a href=\"\/[a-z]/ {print $2}'))
echo "$list_url"
for name in ${list_url[@]}; do
echo "PAGE: $name"
@sagax
sagax / swaptop.awk
Last active October 28, 2017 22:48
How to see what happen with swap
#!/usr/bin/awk -f
# GNU Awk 4.1.1, API: 1.1
#
# place script to $HOME/bin/swaptop
# type chmod +x $HOME/bin/swaptop
# run!
function red(s) { return "\033[0;30;41m" s "\033[0m" }
function mag(s) { return "\033[0;30;45m" s "\033[0m" }
function orange(s) { return "\033[0;30;43m" s "\033[0m" }
@sagax
sagax / readme.md
Last active March 6, 2017 10:21
audio download with best quality by playlist of youtube

Загрузка всего звука по playlist-у

Для работы нужно 2 скрипта

  1. pythob скрипт для получения списка всех url по указанному playlist-у
  2. bash скрипт для поиска самого лучшего, из доступных, формата звука

Принцип работы

Запускаем youtube_playlist_audio.sh со ссылкой на желанный playlist С помощью youtube-playlist.py получаем список всех url, из доступных, по указанному playlist-у. youtube-playlist.py сохраняет весь список во временный файл list.txt. После файл построчно считывается и с помощью youtube-dl и awk происходит поиск самого лучшего, из доступных, качества звука.