sakuric 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +13 -0
- data/Gemfile +22 -0
- data/Gemfile.lock +60 -0
- data/HISTORY.yml +13 -0
- data/INSTALL +5 -0
- data/LICENSE +1 -0
- data/Makefile +19 -0
- data/Manifest +405 -0
- data/README.md +72 -0
- data/Rakefile +4 -0
- data/TODO +3 -0
- data/VERSION +1 -0
- data/bashrc +30 -0
- data/bashrc.d/00-functions.include +7 -0
- data/bashrc.d/01-sakura_checks.include +15 -0
- data/bashrc.d/02-uname.include +11 -0
- data/bashrc.d/80-ruby.include +4 -0
- data/bashrc.d/99-dirs.include +11 -0
- data/bashrc.d/aliases.include +20 -0
- data/bashrc.d/common.include +7 -0
- data/bashrc.d/local.d/README +1 -0
- data/bashrc.d/local.d/nothing.include +0 -0
- data/bashrc.d/uname.d/Darwin +6 -0
- data/bashrc.d/uname.d/Linux +0 -0
- data/bashrc.local.sample +11 -0
- data/bin/10 +7 -0
- data/bin/10times +7 -0
- data/bin/1every +22 -0
- data/bin/1everyN +22 -0
- data/bin/1suN +22 -0
- data/bin/2 +5 -0
- data/bin/act +24 -0
- data/bin/amarelo +2 -0
- data/bin/arancio +4 -0
- data/bin/arcobaleno +10 -0
- data/bin/bianco +3 -0
- data/bin/black +2 -0
- data/bin/brew-install +3 -0
- data/bin/cache +50 -0
- data/bin/cache3 +50 -0
- data/bin/cheorae +4 -0
- data/bin/colorastdouterr +37 -0
- data/bin/cp2desktop +3 -0
- data/bin/create-git-repo.sh +24 -0
- data/bin/csoe +37 -0
- data/bin/data +3 -0
- data/bin/derive +90 -0
- data/bin/dimmi +31 -0
- data/bin/dimmiora +4 -0
- data/bin/doppioni +48 -0
- data/bin/du- +9 -0
- data/bin/duplicates +48 -0
- data/bin/echodo +7 -0
- data/bin/ensure_line_present +82 -0
- data/bin/epoch2date +5 -0
- data/bin/fanout +100 -0
- data/bin/find-broken-symlink +26 -0
- data/bin/find-duplicates +48 -0
- data/bin/find-special-chars-within-filenames +12 -0
- data/bin/fix-terminal +5 -0
- data/bin/gce-create-centos-instance +5 -0
- data/bin/gce-create-custom-image +8 -0
- data/bin/gce-curl-get-instances-for-project +7 -0
- data/bin/gce-get-token +3 -0
- data/bin/gce-getproject-metadata +35 -0
- data/bin/gce-public-ip +4 -0
- data/bin/gcutil-fetch +36 -0
- data/bin/giallo +2 -0
- data/bin/git-clone-in-non-empty-dir +21 -0
- data/bin/git-ignore +3 -0
- data/bin/git-repos +98 -0
- data/bin/git-repos.py +99 -0
- data/bin/gitinfo +2 -0
- data/bin/google-spreadsheet-cat +40 -0
- data/bin/google_ips +5 -0
- data/bin/gray +3 -0
- data/bin/green +2 -0
- data/bin/grigio +3 -0
- data/bin/gsutil-debug-bucket +12 -0
- data/bin/gsutil-get-oauth2-token +4 -0
- data/bin/gugol-image +74 -0
- data/bin/hamachi-ubuntu-install +17 -0
- data/bin/head-1^-1 +5 -0
- data/bin/ifdownup +13 -0
- data/bin/immature/ok2 +25 -0
- data/bin/immature/twice-still-broken +9 -0
- data/bin/install-gic-repo +13 -0
- data/bin/install-sakura-on-debian-latest +6 -0
- data/bin/iphoto_big_files.sh +37 -0
- data/bin/itunes +140 -0
- data/bin/jason-xpath.rb +54 -0
- data/bin/jsawk +1128 -0
- data/bin/json-xpath.rb +54 -0
- data/bin/keepup +13 -0
- data/bin/lsof-top10 +3 -0
- data/bin/minicook +218 -0
- data/bin/mv2. +2 -0
- data/bin/mv2desktop +2 -0
- data/bin/mv2dropbox +2 -0
- data/bin/mv2here +2 -0
- data/bin/mvto +39 -0
- data/bin/nero +2 -0
- data/bin/never_as_root +18 -0
- data/bin/not +16 -0
- data/bin/ok +42 -0
- data/bin/orange +4 -0
- data/bin/pink +2 -0
- data/bin/polygen-dell +7 -0
- data/bin/polygen-heanet +6 -0
- data/bin/polygen-labs +4 -0
- data/bin/print_key_val +4 -0
- data/bin/rainbow +10 -0
- data/bin/recipe +19 -0
- data/bin/red +2 -0
- data/bin/remember-command +140 -0
- data/bin/remember-command.rb +140 -0
- data/bin/richelp +99 -0
- data/bin/ricorda-comando +140 -0
- data/bin/rosa +2 -0
- data/bin/rosso +2 -0
- data/bin/run-parts.sh +50 -0
- data/bin/sakura-check-version +48 -0
- data/bin/sakura-init.DRAFT +5 -0
- data/bin/sakura-version +2 -0
- data/bin/sano +5 -0
- data/bin/sbianca +3 -0
- data/bin/sblua +2 -0
- data/bin/setterm-reset +5 -0
- data/bin/sgialla +2 -0
- data/bin/sgrigia +2 -0
- data/bin/split +37 -0
- data/bin/split.rb +37 -0
- data/bin/srosa +1 -0
- data/bin/srossa +2 -0
- data/bin/strip-white-spaces +2 -0
- data/bin/stty-sane +5 -0
- data/bin/sudo^-1 +18 -0
- data/bin/sverda +6 -0
- data/bin/swift-saio-install.sh +336 -0
- data/bin/synergyc +0 -0
- data/bin/synergys +0 -0
- data/bin/syracuse.pl +29 -0
- data/bin/tail-n+2 +5 -0
- data/bin/tellme +31 -0
- data/bin/tellme-time +4 -0
- data/bin/timeout3 +91 -0
- data/bin/top5 +4 -0
- data/bin/trim +4 -0
- data/bin/trova-broken-symlink +26 -0
- data/bin/twice +5 -0
- data/bin/twice.rb +5 -0
- data/bin/ubuntu-install-hamachi64 +17 -0
- data/bin/ultimo +5 -0
- data/bin/upload.py +2380 -0
- data/bin/usleep +0 -0
- data/bin/varia +90 -0
- data/bin/verde +2 -0
- data/bin/vermelho +2 -0
- data/bin/vim-whereveritis +5 -0
- data/bin/viola +1 -0
- data/bin/virsh-list-all-vms.py +21 -0
- data/bin/virtualbox-manage +41 -0
- data/bin/weekend +12 -0
- data/bin/whattimeisit +4 -0
- data/bin/whereis-ip +5 -0
- data/bin/white +3 -0
- data/bin/whitefy +3 -0
- data/bin/yellow +2 -0
- data/bin/yellowfy +2 -0
- data/bin/zombies +25 -0
- data/docz/polygen/dell.grm +100 -0
- data/docz/polygen/frati.grm +85 -0
- data/docz/polygen/heanet.grm +54 -0
- data/docz/richelp/gcompute.yml +52 -0
- data/docz/richelp/gcutil.yml +52 -0
- data/docz/richelp/gmail.yml +2 -0
- data/docz/richelp/ruby.yml +81 -0
- data/docz/richelp/sakura.yml +20 -0
- data/docz/richelp/sql.yml +12 -0
- data/docz/richelp/ubuntu.yml +22 -0
- data/docz/richelp/yaml.yml +39 -0
- data/docz/richelp/yml.yml +39 -0
- data/etc/sakura/devel.yml +36 -0
- data/etc/synergy.conf.example +37 -0
- data/images/color-sample.png +0 -0
- data/images/google.jpg +0 -0
- data/images/icons/toilet.png +0 -0
- data/images/sakura.jpg +0 -0
- data/images/sakura2.jpg +0 -0
- data/init.rb +5 -0
- data/lib/classes/arrays.rb +246 -0
- data/lib/classes/debug_ric.rb +196 -0
- data/lib/classes/fake_data.rb +8 -0
- data/lib/classes/ric_debug.rb +0 -0
- data/lib/classes/ricconf.rb +110 -0
- data/lib/classes/richelp.rb +70 -0
- data/lib/classes/strings.rb +284 -0
- data/lib/facter/google_compute_engine.rb +10 -0
- data/lib/recipes/20120411-puppet-rump-palladius.recipe +2 -0
- data/lib/recipes/20120726-skype.ubuntu.recipe +16 -0
- data/lib/recipes/20130206-puppet3.ubuntu.recipe +32 -0
- data/lib/recipes/20130206-redis.linux.recipe +17 -0
- data/lib/recipes/20130208-vanilla.linux.recipe +37 -0
- data/lib/recipes/Makefile +4 -0
- data/lib/recipes/README.md +29 -0
- data/lib/recipes/scripts/redis.sh +14 -0
- data/lib/ric.rb +156 -0
- data/lib/ric_colors.rb +313 -0
- data/lib/ric_strings.rb +285 -0
- data/lib/sonice-players/itunes_mac.rb +43 -0
- data/lib/sonice-players/itunes_win.rb +47 -0
- data/lib/sonice-players/mpd.rb +45 -0
- data/lib/sonice-players/rhythmbox.rb +38 -0
- data/profile +1 -0
- data/sakuric.gemspec +40 -0
- data/sbin/install-sakura-on-debian +25 -0
- data/sbin/make-install.sh +10 -0
- data/sbin/mate-createsymlink +4 -0
- data/sounds/0.ogg +0 -0
- data/sounds/0.wav +0 -0
- data/sounds/01.ogg +0 -0
- data/sounds/02.ogg +0 -0
- data/sounds/03.ogg +0 -0
- data/sounds/08.ogg +0 -0
- data/sounds/09.ogg +0 -0
- data/sounds/1.ogg +0 -0
- data/sounds/1.wav +0 -0
- data/sounds/10.ogg +0 -0
- data/sounds/100.ogg +0 -0
- data/sounds/11.ogg +0 -0
- data/sounds/12.ogg +0 -0
- data/sounds/13.ogg +0 -0
- data/sounds/14.ogg +0 -0
- data/sounds/15.ogg +0 -0
- data/sounds/16.ogg +0 -0
- data/sounds/17.ogg +0 -0
- data/sounds/18.ogg +0 -0
- data/sounds/19.ogg +0 -0
- data/sounds/2.ogg +0 -0
- data/sounds/2.wav +0 -0
- data/sounds/20.ogg +0 -0
- data/sounds/21.ogg +0 -0
- data/sounds/22.ogg +0 -0
- data/sounds/23.ogg +0 -0
- data/sounds/24.ogg +0 -0
- data/sounds/26.ogg +0 -0
- data/sounds/3.ogg +0 -0
- data/sounds/3.wav +0 -0
- data/sounds/30.ogg +0 -0
- data/sounds/34.ogg +0 -0
- data/sounds/4.ogg +0 -0
- data/sounds/4.wav +0 -0
- data/sounds/40.ogg +0 -0
- data/sounds/42.ogg +0 -0
- data/sounds/45.ogg +0 -0
- data/sounds/47.ogg +0 -0
- data/sounds/5.ogg +0 -0
- data/sounds/5.wav +0 -0
- data/sounds/50.ogg +0 -0
- data/sounds/6.ogg +0 -0
- data/sounds/6.wav +0 -0
- data/sounds/60.ogg +0 -0
- data/sounds/7.ogg +0 -0
- data/sounds/7.wav +0 -0
- data/sounds/70.ogg +0 -0
- data/sounds/8.ogg +0 -0
- data/sounds/8.wav +0 -0
- data/sounds/80.ogg +0 -0
- data/sounds/9.ogg +0 -0
- data/sounds/9.wav +0 -0
- data/sounds/90.ogg +0 -0
- data/sounds/a.ogg +0 -0
- data/sounds/aaahhh.ogg +0 -0
- data/sounds/abologna.ogg +0 -0
- data/sounds/adargenta.ogg +0 -0
- data/sounds/alzatiecammina.ogg +0 -0
- data/sounds/apache.ogg +0 -0
- data/sounds/attenzione.ogg +0 -0
- data/sounds/awesome.m4a +0 -0
- data/sounds/bazinga.mp3 +0 -0
- data/sounds/bazinga.ogg +0 -0
- data/sounds/bela regaz.wav +0 -0
- data/sounds/benvenuti.wav +0 -0
- data/sounds/benvenuti2.wav +0 -0
- data/sounds/bergonz.ogg +0 -0
- data/sounds/boh.ogg +0 -0
- data/sounds/buahah.ogg +0 -0
- data/sounds/buonasera.ogg +0 -0
- data/sounds/buongiorno.ogg +0 -0
- data/sounds/burp.ogg +0 -0
- data/sounds/carlo.ogg +0 -0
- data/sounds/cena.ogg +0 -0
- data/sounds/che figata.m4a +0 -0
- data/sounds/che figlio di puttana.m4a +0 -0
- data/sounds/che.ogg +0 -0
- data/sounds/ciao.ogg +0 -0
- data/sounds/ciao.wav +0 -0
- data/sounds/da.ogg +0 -0
- data/sounds/davide.ogg +0 -0
- data/sounds/demone.ogg +0 -0
- data/sounds/dhcp.ogg +0 -0
- data/sounds/dinuovo.ogg +0 -0
- data/sounds/dns.ogg +0 -0
- data/sounds/dopo.ogg +0 -0
- data/sounds/e'.ogg +0 -0
- data/sounds/eattivo.ogg +0 -0
- data/sounds/ee.ogg +0 -0
- data/sounds/ehi.ogg +0 -0
- data/sounds/eoragiu.ogg +0 -0
- data/sounds/eorasu.ogg +0 -0
- data/sounds/eripartita.ogg +0 -0
- data/sounds/estato.ogg +0 -0
- data/sounds/estatoriavviato.ogg +0 -0
- data/sounds/fratro.ogg +0 -0
- data/sounds/frozenbubble.ogg +0 -0
- data/sounds/funziona.ogg +0 -0
- data/sounds/go raibh mile maith agaibh.m4a +0 -0
- data/sounds/grazie.ogg +0 -0
- data/sounds/h1.ogg +0 -0
- data/sounds/hainuovaposta.ogg +0 -0
- data/sounds/hogiamangiato.ogg +0 -0
- data/sounds/host.ogg +0 -0
- data/sounds/il.ogg +0 -0
- data/sounds/ilcomputer.ogg +0 -0
- data/sounds/ilnumerodaleiselezionatoe.ogg +0 -0
- data/sounds/ilprocesso.ogg +0 -0
- data/sounds/ilprogramma.ogg +0 -0
- data/sounds/ilservizio.ogg +0 -0
- data/sounds/imap.ogg +0 -0
- data/sounds/imieisuperpoterimidiconoche.ogg +0 -0
- data/sounds/infunzione.ogg +0 -0
- data/sounds/inpunto.ogg +0 -0
- data/sounds/ipmon.ogg +0 -0
- data/sounds/laconnessioneadinternet.ogg +0 -0
- data/sounds/lastampante.ogg +0 -0
- data/sounds/lazzaron.ogg +0 -0
- data/sounds/ldap.ogg +0 -0
- data/sounds/linterfaccia.ogg +0 -0
- data/sounds/lucilla.ogg +0 -0
- data/sounds/ma vaffanculo.m4a +0 -0
- data/sounds/majjal.wav +0 -0
- data/sounds/mamma.ogg +0 -0
- data/sounds/mauro.ogg +0 -0
- data/sounds/max.ogg +0 -0
- data/sounds/meerda.wav +0 -0
- data/sounds/meno.ogg +0 -0
- data/sounds/merda clo.wav +0 -0
- data/sounds/mezza.ogg +0 -0
- data/sounds/mila.ogg +0 -0
- data/sounds/mille.ogg +0 -0
- data/sounds/minuti.ogg +0 -0
- data/sounds/named.ogg +0 -0
- data/sounds/no.ogg +0 -0
- data/sounds/nohofame.ogg +0 -0
- data/sounds/nonfunziona.ogg +0 -0
- data/sounds/nonriescoatrovare.ogg +0 -0
- data/sounds/nonsarebbeoradilavorare.ogg +0 -0
- data/sounds/nonstalavorando.ogg +0 -0
- data/sounds/numero.wav +0 -0
- data/sounds/ooohhh.ogg +0 -0
- data/sounds/pinger.ogg +0 -0
- data/sounds/pocofa.ogg +0 -0
- data/sounds/pop3.ogg +0 -0
- data/sounds/porca puttana.m4a +0 -0
- data/sounds/porcapupazza.ogg +0 -0
- data/sounds/ppp.ogg +0 -0
- data/sounds/pranzo.ogg +0 -0
- data/sounds/prego.ogg +0 -0
- data/sounds/prima.ogg +0 -0
- data/sounds/qualcosamidice.ogg +0 -0
- data/sounds/raggiungibile.ogg +0 -0
- data/sounds/riccardo.ogg +0 -0
- data/sounds/salsa ridge.wav +0 -0
- data/sounds/scusa.ogg +0 -0
- data/sounds/seriously man.m4a +0 -0
- data/sounds/si.ogg +0 -0
- data/sounds/sito porno con sonoro.wav +0 -0
- data/sounds/socmel.wav +0 -0
- data/sounds/sono.ogg +0 -0
- data/sounds/sonoacasa.ogg +0 -0
- data/sounds/sonole.ogg +0 -0
- data/sounds/sputo.ogg +0 -0
- data/sounds/ssh.ogg +0 -0
- data/sounds/stagiocando.ogg +0 -0
- data/sounds/statospento.ogg +0 -0
- data/sounds/stopaiodipalle.ogg +0 -0
- data/sounds/thesedicks.wav +0 -0
- data/sounds/tornatosu.ogg +0 -0
- data/sounds/trapoco.ogg +0 -0
- data/sounds/trequarti.ogg +0 -0
- data/sounds/tutti.ogg +0 -0
- data/sounds/una.ogg +0 -0
- data/sounds/unquarto.ogg +0 -0
- data/sounds/virgola.ogg +0 -0
- data/sources/c/usleep.c +50 -0
- data/spec/my_first_spec.rb +6 -0
- data/tasks/sakuric-gem.rake +21 -0
- data/tasks/testing.rake +15 -0
- data/templates/bashrc.inject +10 -0
- data/templates/happy_christmas.ascii_art +5 -0
- data/test/roodi.sh +10 -0
- data/test/test_mini_failing.rb +3 -0
- data/test/test_mini_ok.rb +3 -0
- data/test/test_ruby_syntax.sh +12 -0
- data/third-party/jsawk/README.markdown +437 -0
- data/third-party/jsawk/jsawk +1128 -0
- metadata +835 -0
data/bin/cheorae
ADDED
data/bin/colorastdouterr
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
VER=1.0
|
4
|
+
|
5
|
+
# trasforma stdin in rosso o verde
|
6
|
+
function fverde() {
|
7
|
+
echo -en "\033[0;32m$*\033[0m\n"
|
8
|
+
}
|
9
|
+
function frosso() {
|
10
|
+
echo -en "\033[1;31m$*\033[0m\n"
|
11
|
+
|
12
|
+
}
|
13
|
+
|
14
|
+
function riscrivi() {
|
15
|
+
COLOR=$1
|
16
|
+
if echo $COLOR | egrep -q '^green' ; then
|
17
|
+
while read LINE; do
|
18
|
+
fverde $LINE
|
19
|
+
done
|
20
|
+
fi
|
21
|
+
if echo $COLOR | egrep -q '^red' ; then
|
22
|
+
while read LINE; do
|
23
|
+
frosso $LINE
|
24
|
+
done
|
25
|
+
fi
|
26
|
+
while read LINE; do
|
27
|
+
echo "???> $LINE"
|
28
|
+
done
|
29
|
+
}
|
30
|
+
|
31
|
+
bianco "# >$(whoami):$(pwd)\$ $*"
|
32
|
+
(
|
33
|
+
# sono un GENIO!!!! era: '($* 2>&3 ...'
|
34
|
+
(eval "$@" 2>&3 |riscrivi green >&2) 3>&1 |riscrivi red 2>&1
|
35
|
+
)2>&1
|
36
|
+
# Non posso sapere come esce purtroppo poiche' passa per 'riscrivi'
|
37
|
+
#bianco "# Uscita: $?"
|
data/bin/cp2desktop
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
VER=0.9.4
|
4
|
+
REPO=${1:-MISSING_REPO_NAME}
|
5
|
+
# With the basename you lose the directory (etc/) :(
|
6
|
+
#REPO=$(basename $REPO .git) # eliminates .git in the end, if such
|
7
|
+
REPODIR="$REPO"
|
8
|
+
|
9
|
+
usage() {
|
10
|
+
echo "Usage: $(basename $0) REPONAME.git"
|
11
|
+
echo " (.git in the end is mandatory)"
|
12
|
+
}
|
13
|
+
if echo $REPODIR |egrep -v "\.git$" ; then
|
14
|
+
usage
|
15
|
+
ll
|
16
|
+
|
17
|
+
fi
|
18
|
+
|
19
|
+
echo "Creating repo called '$REPODIR'"
|
20
|
+
mkdir "$REPODIR" &&
|
21
|
+
cd "$REPODIR" &&
|
22
|
+
git init --bare
|
23
|
+
|
24
|
+
echo -en "Tudo bem. Now please edit the file: \n vim $REPODIR/description\n"
|
data/bin/csoe
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
VER=1.0
|
4
|
+
|
5
|
+
# trasforma stdin in rosso o verde
|
6
|
+
function fverde() {
|
7
|
+
echo -en "\033[0;32m$*\033[0m\n"
|
8
|
+
}
|
9
|
+
function frosso() {
|
10
|
+
echo -en "\033[1;31m$*\033[0m\n"
|
11
|
+
|
12
|
+
}
|
13
|
+
|
14
|
+
function riscrivi() {
|
15
|
+
COLOR=$1
|
16
|
+
if echo $COLOR | egrep -q '^green' ; then
|
17
|
+
while read LINE; do
|
18
|
+
fverde $LINE
|
19
|
+
done
|
20
|
+
fi
|
21
|
+
if echo $COLOR | egrep -q '^red' ; then
|
22
|
+
while read LINE; do
|
23
|
+
frosso $LINE
|
24
|
+
done
|
25
|
+
fi
|
26
|
+
while read LINE; do
|
27
|
+
echo "???> $LINE"
|
28
|
+
done
|
29
|
+
}
|
30
|
+
|
31
|
+
bianco "# >$(whoami):$(pwd)\$ $*"
|
32
|
+
(
|
33
|
+
# sono un GENIO!!!! era: '($* 2>&3 ...'
|
34
|
+
(eval "$@" 2>&3 |riscrivi green >&2) 3>&1 |riscrivi red 2>&1
|
35
|
+
)2>&1
|
36
|
+
# Non posso sapere come esce purtroppo poiche' passa per 'riscrivi'
|
37
|
+
#bianco "# Uscita: $?"
|
data/bin/data
ADDED
data/bin/derive
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
export PATH=$PATH:$SVNHOME/bin
|
4
|
+
|
5
|
+
#########################################################
|
6
|
+
# Author: Riccardo Carlesso, all rights reserved
|
7
|
+
# Email: palladiusbonton@gmail.com
|
8
|
+
# Site: www.palladius.it
|
9
|
+
#
|
10
|
+
# Questo programma e' cio' che ho sempre sognato, verifica se
|
11
|
+
# cio' che segue cambia o meno. Se non cambia, non ha stdout, se no ce l'ha in formato mail...
|
12
|
+
# Quindi in sostanza fa la derivata di un output...
|
13
|
+
#########################################################
|
14
|
+
# TODO
|
15
|
+
#
|
16
|
+
# Come dice giustamente MB, la prima volta che avvii l'esecuzione,
|
17
|
+
# varia DEVE dare output nullo, se ci pensi e' semanticamente cosi'
|
18
|
+
# anche se poi non e' comodo implementativamente ;)
|
19
|
+
#########################################################
|
20
|
+
|
21
|
+
VER="2.0"
|
22
|
+
|
23
|
+
DEBUG=false
|
24
|
+
|
25
|
+
# 2011 12 23 2.0 Moved to sakura (open source and in English for my international fans!)
|
26
|
+
# 2007 05 22 1.8 messo debug che se diff e' attiva catta anche i 2 out (ottenevo delle diff strane!)
|
27
|
+
# 2007 01 17 1.7 messi copyright e messo indenta interno
|
28
|
+
# 2007 01 03 1.6 la exit e' corretta (0 uguali, <>0 diversi)
|
29
|
+
# 2006 07 04 1.5 aqggiunto supporto a utenti (carlo, riccardo, ...)
|
30
|
+
# 2006 02 13 1.4 aggiunta roba, tolta parte verbosa con date (un giorno sara' nel -v)
|
31
|
+
|
32
|
+
MD5=$(echo $*|md5sum|awk '{print $1}')
|
33
|
+
PAZ="/tmp/varia/"
|
34
|
+
MYUSER=$(whoami) # dovesse un giorno non bastare + in UTENET andra' l'ulteriore specificazione (chesso', utente+computer+dominio+cliente, ....
|
35
|
+
OLD="$PAZ/$MD5.$MYUSER.old"
|
36
|
+
ERR="$PAZ/$MD5.$MYUSER.err"
|
37
|
+
NEW="$PAZ/$MD5.$MYUSER.new"
|
38
|
+
OK="$PAZ/$MD5.$MYUSER.nochanges" # how long its been like this
|
39
|
+
CNT="$PAZ/$MD5.$MYUSER.count" # change history
|
40
|
+
OLDNEWGLOB="$PAZ/$MD5.$MYUSER.*" # glob to catch all and only these (two?) files
|
41
|
+
SEP="---------------------------------------------"
|
42
|
+
INDENTSEP=" | "
|
43
|
+
|
44
|
+
function indenta() {
|
45
|
+
while read LINE ; do
|
46
|
+
echo "$1$LINE"
|
47
|
+
done
|
48
|
+
}
|
49
|
+
|
50
|
+
write_infos() {
|
51
|
+
echo "pwd: `pwd`"
|
52
|
+
echo "date: `date`"
|
53
|
+
echo "Who: '$MYUSER'"
|
54
|
+
echo 'COUNT: (Count the chars over this line:)' # will be populated by plus
|
55
|
+
echo
|
56
|
+
}
|
57
|
+
|
58
|
+
mkdir -p $PAZ 2>/dev/null
|
59
|
+
chmod 777 $PAZ 2>/dev/null
|
60
|
+
touch $NEW # cosi' al primo colpo va gia'
|
61
|
+
|
62
|
+
# guarantees that now files get created with "rw-------"
|
63
|
+
umask 066
|
64
|
+
|
65
|
+
mv $NEW $OLD
|
66
|
+
eval "$@" 1>$NEW 2>$ERR
|
67
|
+
if diff -q $NEW $OLD >/dev/null; then
|
68
|
+
touch $OK
|
69
|
+
echo -n + >> $CNT
|
70
|
+
exit 0
|
71
|
+
else
|
72
|
+
#echo "NUOVO($(date))"
|
73
|
+
write_infos > $CNT
|
74
|
+
#echo "Subject: [varia] '"$*"'"
|
75
|
+
#echo
|
76
|
+
echo "+ Differences on `date +"%Y%m%d-%H%M%S"`:"
|
77
|
+
diff $NEW $OLD | sed -e 's/^>/OLD /'| sed -e 's/^</NEW /' | indenta "$INDENTSEP"
|
78
|
+
echo " --"
|
79
|
+
echo " $0, ver $VER"
|
80
|
+
if $DEBUG; then
|
81
|
+
echo " --"
|
82
|
+
echo "NEW:"
|
83
|
+
cat $NEW|indenta 'NEW> '
|
84
|
+
echo
|
85
|
+
echo OLD:
|
86
|
+
cat $OLD|indenta 'OLD> '
|
87
|
+
fi
|
88
|
+
echo "# More info here: $CNT"
|
89
|
+
exit 42
|
90
|
+
fi
|
data/bin/dimmi
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
DIMMIPATH="$SAKURADIR/sounds/"
|
4
|
+
SUONA=/usr/bin/ogg123
|
5
|
+
|
6
|
+
if [ ! -f $SUONA ] ; then
|
7
|
+
echo "Ogg123 not installed, try: sudo apt-get install vorbis-tools"
|
8
|
+
exit 2
|
9
|
+
fi
|
10
|
+
|
11
|
+
function gestisci() {
|
12
|
+
PAROLA="$*"
|
13
|
+
if test -z "$1" ; then
|
14
|
+
return
|
15
|
+
fi
|
16
|
+
FNAME="$DIMMIPATH/$PAROLA.ogg"
|
17
|
+
RISERVA="$DIMMIPATH/boh.ogg"
|
18
|
+
if [ -f "$FNAME" ] ; then
|
19
|
+
$SUONA "$FNAME" >/dev/null 2>/dev/null
|
20
|
+
else
|
21
|
+
$SUONA "$RISERVA" >/dev/null 2>/dev/null
|
22
|
+
echo "'$FNAME' not found" >&2
|
23
|
+
fi
|
24
|
+
}
|
25
|
+
|
26
|
+
gestisci "$1"
|
27
|
+
while shift; do
|
28
|
+
if test ! -z "$1" ; then
|
29
|
+
gestisci $1
|
30
|
+
fi
|
31
|
+
done
|
data/bin/dimmiora
ADDED
data/bin/doppioni
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
DIR=${1:-.}
|
4
|
+
#DEBUG=true
|
5
|
+
DEBUG=false
|
6
|
+
|
7
|
+
################################################################################
|
8
|
+
# This program finds all files in the current directrory with the same md5 and it prints them out.
|
9
|
+
################################################################################
|
10
|
+
|
11
|
+
function debugga() {
|
12
|
+
if $DEBUG ; then
|
13
|
+
echo '#DEB# ' $* >&2
|
14
|
+
fi
|
15
|
+
}
|
16
|
+
TMPFILE="/tmp/md5z.$USER.$$"
|
17
|
+
#DOPPIONIcaTMP_DUPLICATES="/tmp/m5d-duplicates"
|
18
|
+
#TMPFILE='./.md5z.list'
|
19
|
+
TMP_DUPLICATES='./.md5z.duplicates'
|
20
|
+
FIND_OPTS='-not -type l'
|
21
|
+
|
22
|
+
# creao lista degli md5 almeno doppi.
|
23
|
+
rm -f $TMPFILE $TMP_DUPLICATES
|
24
|
+
# in case its empty..
|
25
|
+
touch $TMPFILE $TMP_DUPLICATES
|
26
|
+
find "$DIR" $FIND_OPTS | fgrep -v '/.svn/' | while read F; do
|
27
|
+
debugga File "$F"
|
28
|
+
md5sum "$F" >>$TMPFILE # 2>/dev/null
|
29
|
+
done
|
30
|
+
|
31
|
+
debugga "Creating file with duplicates from dir: '$DIR'"
|
32
|
+
cat $TMPFILE|sort|awk '{print $1}'|uniq -c|egrep -v " 1"|awk '{print $2}' >$TMP_DUPLICATES
|
33
|
+
|
34
|
+
#debugga "Leggo i file e ti dico cosa ho trovato:"
|
35
|
+
|
36
|
+
cat $TMP_DUPLICATES|while read row
|
37
|
+
do
|
38
|
+
echo " ### MD5: $row ###"
|
39
|
+
fgrep $row $TMPFILE|cut -d" " -f 2-
|
40
|
+
echo
|
41
|
+
done
|
42
|
+
|
43
|
+
if $DEBUG; then
|
44
|
+
debugga Leaving files where they are for debug.
|
45
|
+
else
|
46
|
+
rm -f $TMPFILE $TMP_DUPLICATES
|
47
|
+
fi
|
48
|
+
|
data/bin/du-
ADDED
data/bin/duplicates
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
DIR=${1:-.}
|
4
|
+
#DEBUG=true
|
5
|
+
DEBUG=false
|
6
|
+
|
7
|
+
################################################################################
|
8
|
+
# This program finds all files in the current directrory with the same md5 and it prints them out.
|
9
|
+
################################################################################
|
10
|
+
|
11
|
+
function debugga() {
|
12
|
+
if $DEBUG ; then
|
13
|
+
echo '#DEB# ' $* >&2
|
14
|
+
fi
|
15
|
+
}
|
16
|
+
TMPFILE="/tmp/md5z.$USER.$$"
|
17
|
+
#DOPPIONIcaTMP_DUPLICATES="/tmp/m5d-duplicates"
|
18
|
+
#TMPFILE='./.md5z.list'
|
19
|
+
TMP_DUPLICATES='./.md5z.duplicates'
|
20
|
+
FIND_OPTS='-not -type l'
|
21
|
+
|
22
|
+
# creao lista degli md5 almeno doppi.
|
23
|
+
rm -f $TMPFILE $TMP_DUPLICATES
|
24
|
+
# in case its empty..
|
25
|
+
touch $TMPFILE $TMP_DUPLICATES
|
26
|
+
find "$DIR" $FIND_OPTS | fgrep -v '/.svn/' | while read F; do
|
27
|
+
debugga File "$F"
|
28
|
+
md5sum "$F" >>$TMPFILE # 2>/dev/null
|
29
|
+
done
|
30
|
+
|
31
|
+
debugga "Creating file with duplicates from dir: '$DIR'"
|
32
|
+
cat $TMPFILE|sort|awk '{print $1}'|uniq -c|egrep -v " 1"|awk '{print $2}' >$TMP_DUPLICATES
|
33
|
+
|
34
|
+
#debugga "Leggo i file e ti dico cosa ho trovato:"
|
35
|
+
|
36
|
+
cat $TMP_DUPLICATES|while read row
|
37
|
+
do
|
38
|
+
echo " ### MD5: $row ###"
|
39
|
+
fgrep $row $TMPFILE|cut -d" " -f 2-
|
40
|
+
echo
|
41
|
+
done
|
42
|
+
|
43
|
+
if $DEBUG; then
|
44
|
+
debugga Leaving files where they are for debug.
|
45
|
+
else
|
46
|
+
rm -f $TMPFILE $TMP_DUPLICATES
|
47
|
+
fi
|
48
|
+
|
data/bin/echodo
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
=begin
|
4
|
+
|
5
|
+
############################################################
|
6
|
+
@author: Riccardo Carlesso
|
7
|
+
@email: riccardo.carlesso@gmail.com
|
8
|
+
@maturity: development
|
9
|
+
@language: Ruby
|
10
|
+
@synopsis: ensure a line $2-$$ is present in file $1. Sim ilar to Augeas, just simpler
|
11
|
+
@tags: development, rcarlesso, test
|
12
|
+
@description:
|
13
|
+
Adds a line to a file if it doesnt find it :)
|
14
|
+
############################################################
|
15
|
+
|
16
|
+
=end
|
17
|
+
|
18
|
+
# http://ruby.about.com/od/advancedruby/a/optionparser.htm
|
19
|
+
require 'optparse'
|
20
|
+
# Sakura Ruby library :)
|
21
|
+
require ENV['SAKURALIB'] + "/ric.rb"
|
22
|
+
|
23
|
+
# Program constants, automagically picked up by RicLib
|
24
|
+
# More configuration could be written in:
|
25
|
+
# $SVNHOME/etc/ricsvn/<FILENAME>.yml
|
26
|
+
# That would go into the variable '$prog_conf_d'
|
27
|
+
$myconf = {
|
28
|
+
:app_name => 'ensure_line_present',
|
29
|
+
:hello => 'Welcome to this terrific application',
|
30
|
+
}
|
31
|
+
|
32
|
+
$PROG_VER = '0.9.1'
|
33
|
+
$DEBUG = true
|
34
|
+
$TEMPLATE_VER = '1.5.7'
|
35
|
+
|
36
|
+
def usage(comment=nil)
|
37
|
+
puts "#{$0} v.#{$PROG_VER}"
|
38
|
+
puts "Usage: #{File.basename $0} [-dhjv] [-l LOGFILE] FILE [content to be there]"
|
39
|
+
deb $opts
|
40
|
+
pred comment if comment
|
41
|
+
puts "Example (quotes are for clarity, yet unnecessary):\n #{File.basename $0} /etc/hosts '8.8.8.8 gugoldns'"
|
42
|
+
exit 11
|
43
|
+
end
|
44
|
+
|
45
|
+
def init() # see lib_autoinit in lib/util.rb
|
46
|
+
$opts = {}
|
47
|
+
optparse = OptionParser.new do |opts|
|
48
|
+
opts.banner = "#{$0} v.#{$PROG_VER}\n Usage: #{File.basename $0} file [content to be there]"
|
49
|
+
opts.on( '-d', '--debug', 'enables debug (DFLT=false)' ) { $opts[:debug] = true }
|
50
|
+
opts.on( '-h', '--help', 'Display this screen' ) { puts(opts); exit 1 }
|
51
|
+
opts.on( '-j', '--jabba', 'Activates my Jabber powerful CLI' ) { $opts[:jabba] = true }
|
52
|
+
opts.on( '-l', '--logfile FILE', 'Write log to FILE' ) {|file| $opts[:logfile] = file }
|
53
|
+
opts.on( '-v', '--verbose', 'Output more information' ) { $opts[:verbose] = true}
|
54
|
+
end
|
55
|
+
optparse.parse!
|
56
|
+
end
|
57
|
+
|
58
|
+
def real_program
|
59
|
+
# Maybe you may want to check on ARGV
|
60
|
+
unless ARGV.size == 2
|
61
|
+
usage "Give me 2 or more arguments!"
|
62
|
+
end
|
63
|
+
deb("Hello world from a templated '#{$0 }'")
|
64
|
+
deb "+ Options are: #{$opts}"
|
65
|
+
deb "+ Depured args: #{ARGV}"
|
66
|
+
|
67
|
+
deb "PS Please find me in " + __FILE__
|
68
|
+
deb "Maybe you forgot to do:
|
69
|
+
git add #{__FILE__} # add to GIT
|
70
|
+
guarda #{__FILE__} & # edit file
|
71
|
+
always -- #{__FILE__} -d # to see what happens..."
|
72
|
+
# Your code goes here...
|
73
|
+
puts "Hello world!"
|
74
|
+
end
|
75
|
+
|
76
|
+
def main()
|
77
|
+
#init
|
78
|
+
#real_program
|
79
|
+
puts "To be implemented yet, please bear with me when my gf leaves my house :)"
|
80
|
+
end
|
81
|
+
|
82
|
+
main()
|