From e94b38aeebae57ff4c3915dc7e6ee6858b3b1b69 Mon Sep 17 00:00:00 2001 From: motius Date: Mon, 5 Jun 2017 12:49:07 +0200 Subject: [PATCH] mon cerveau malade a besoin de plein de variations des outils UNIX --- shell/battery | 3 + shell/dif | 2 + shell/dog | 379 +++++++++++++++++++++++++++++++++++++++++ shell/fid | 8 + shell/get_color | 3 + shell/light.sh | 78 +++++++++ shell/mkpw | 9 + shell/path | 7 + shell/random | 4 + shell/stutter_white.sh | 11 ++ 10 files changed, 504 insertions(+) create mode 100755 shell/battery create mode 100755 shell/dif create mode 100755 shell/dog create mode 100755 shell/fid create mode 100755 shell/get_color create mode 100755 shell/light.sh create mode 100755 shell/mkpw create mode 100755 shell/path create mode 100755 shell/random create mode 100755 shell/stutter_white.sh diff --git a/shell/battery b/shell/battery new file mode 100755 index 0000000..d253dab --- /dev/null +++ b/shell/battery @@ -0,0 +1,3 @@ +#!/bin/bash +cat /sys/class/power_supply/BAT0/uevent + diff --git a/shell/dif b/shell/dif new file mode 100755 index 0000000..608e375 --- /dev/null +++ b/shell/dif @@ -0,0 +1,2 @@ +/usr/bin/colordiff -u "$1" "$2" + diff --git a/shell/dog b/shell/dog new file mode 100755 index 0000000..4a764fa --- /dev/null +++ b/shell/dog @@ -0,0 +1,379 @@ +#!/bin/sh +#!/usr/bin/env vim +#! This is a bash script that executes itself as a vimscript to do its work +#! Based on _v by Magnus Woldrich: https://github.com/trapd00r/utils/blob/master/_v + +: if 0 + # Just pass through if not on a tty + if [ ! -t 1 ]; then + exec cat "${@}" + fi + # try to find a better shell, especially on Solaris + + PATH=$PATH:/usr/local/bin:/opt/csw/bin:/opt/local/bin:/usr/dt/bin:/usr/xpg4/bin:/usr/bin:/bin + + _MY_SHELL=/bin/sh + export _MY_SHELL + + if [ -z "$IN_BASH" ] && command -v bash >/dev/null; then + IN_BASH=1 + export IN_BASH + _MY_SHELL=`command -v bash` + export _MY_SHELL + exec bash "$0" "$@" + elif [ -z "$IN_BASH" ] && [ -z "$IN_KSH" ]; then + if command -v dtksh >/dev/null; then + IN_KSH=1 + export IN_KSH + _MY_SHELL=`command -v dtksh` + export _MY_SHELL + exec dtksh "$0" "$@" + elif [ -x /usr/xpg4/bin/sh ]; then + IN_KSH=1 + export IN_KSH + _MY_SHELL=/usr/xpg4/bin/sh + export _MY_SHELL + exec /usr/xpg4/bin/sh "$0" "$@" + elif command -v ksh93 >/dev/null; then + IN_KSH=1 + export IN_KSH + _MY_SHELL=`command -v ksh93` + export _MY_SHELL + exec ksh93 "$0" "$@" + elif command -v ksh >/dev/null; then + IN_KSH=1 + export IN_KSH + _MY_SHELL=`command -v ksh` + export _MY_SHELL + exec ksh "$0" "$@" + else + echo "$0 requires either bash or ksh" >&2 + exit + fi + fi + + # hopefully we're now POSIX, and shell is saved in ${_MY_SHELL} + + tmp_dir=/tmp + mkdir_options="-m 700" + + case $(uname -s) in + MINGW*|MSYS*) + if [ -n "${temp}" ]; then + # MSYS2 is a little tricky, we're gonna stick to the user's private temp + # the -m mode switch to mkdir doesn't work + tmp_dir=$(cygpath --unix "${temp}") + mkdir_options="" + fi + ;; + esac + + tmp_dir="${tmp_dir}/vimcat_${$}" + + if ! mkdir ${mkdir_options} ${tmp_dir}; then + echo Could not create temporary directory ${tmp_dir} >&2 + exit 1 + fi + + trap "rm -rf ${tmp_dir}" HUP INT QUIT ILL TRAP KILL BUS TERM + tmp_file=${tmp_dir}/vimcat + + script=$(command -v ${0}) + + # check for arguments to pass to vim + while [ $# -gt 0 ] ; do + case "${1}" in + "-c") + shift + if [ -z "${extra_c}" ]; then + extra_c="${1}" + else + extra_c="${extra_c} | ${1}" + fi + shift + ;; + "--cmd") + shift + if [ -z "${extra_cmd}" ]; then + extra_cmd="${1}" + else + extra_cmd="${extra_cmd} | ${1}" + fi + shift + ;; + "-u") + shift + vimcatrc="${1}" + shift + ;; + "--") + shift + break + ;; + -*) + echo "${0}: bad option '${1}'" + exit 1 + ;; + *) + break + ;; + esac + done + + if [ -z "${vimcatrc}" ]; then + if [ -f ~/.vimcatrc ]; then + vimcatrc="~/.vimcatrc" + else + vimcatrc="" + fi + fi + + if [ -z "${extra_cmd}" ]; then + extra_cmd='silent! echo' + fi + + if [ -z "${extra_c}" ]; then + extra_c='silent! echo' + fi + + if [ "${#}" -eq 0 ]; then + set -- - + fi + + for file in "$@" + do + if [ "${#}" -ge 2 ]; then + echo "==> ${file} <==" + fi + + if [ "${file}" = "-" ]; then + cat - >${tmp_file} + file=${tmp_file} + fi + + # Check that the file exists + if test -r "${file}" -a -f "${file}"; then + if test -s "${file}"; then + if [ -n "${vimcatrc}" ]; then + vim -E -X -R -i NONE -u "${vimcatrc}" --cmd "${extra_cmd}" -c "source ${script} | ${extra_c} | visual | call AnsiHighlight(\"${tmp_file}\") | q" -- "${file}" /dev/null 2>&1 + else + vim -E -X -R -i NONE --cmd "${extra_cmd}" -c "source ${script} | ${extra_c} | visual | call AnsiHighlight(\"${tmp_file}\") | q" -- "${file}" /dev/null 2>&1 + fi + cat "${tmp_file}" + # if file doesn't end in a newline, output a newline + # regular Solaris tail does not work for this + tail_cmd=tail + if [ -x /usr/xpg4/bin/tail ]; then + tail_cmd=/usr/xpg4/bin/tail + fi + if command -v gtail >/dev/null; then + tail_cmd=gtail + fi + last_char=$($tail_cmd -c 1 "${tmp_file}") + if [ "${last_char}" != "" ]; then + echo + fi + fi + else + echo "${0}: Cannot read file: ${file}" >&2 + fi + done + + rm -rf "${tmp_dir}" + + exit + +: endif +: endif +: endif +: endif +: endif +: endwhile +: endif +: endfor +: endif +: endif +: endif +: endif +: endif +: endif +: endif +: endif +: endif +: endif +: endif +: endif +: endif +: endif + +" AnsiHighlight: Allows for marking up a file, using ANSI color escapes when +" the syntax changes colors, for easy, faithful reproduction. +" Author: Matthew Wozniski (mjw@drexel.edu) +" Date: Fri, 01 Aug 2008 05:22:55 -0400 +" Version: 1.0 FIXME +" History: FIXME see :help marklines-history +" License: BSD. Completely open source, but I would like to be +" credited if you use some of this code elsewhere. + +" Copyright (c) 2015, Matthew J. Wozniski {{{1 +" All rights reserved. +" +" Redistribution and use in source and binary forms, with or without +" modification, are permitted provided that the following conditions are met: +" * Redistributions of source code must retain the above copyright +" notice, this list of conditions and the following disclaimer. +" * Redistributions in binary form must reproduce the above copyright +" notice, this list of conditions and the following disclaimer in the +" documentation and/or other materials provided with the distribution. +" +" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY +" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY +" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +" Turn off vi-compatible mode, unless it's already off {{{1 +if &cp + set nocp +endif + +let s:type = 'cterm' +if &t_Co == 0 + let s:type = 'term' +endif + +" Converts info for a highlight group to a string of ANSI color escapes {{{1 +function! s:GroupToAnsi(groupnum) + if ! exists("s:ansicache") + let s:ansicache = {} + endif + + let groupnum = a:groupnum + + if groupnum == 0 + let groupnum = hlID('Normal') + endif + + if has_key(s:ansicache, groupnum) + return s:ansicache[groupnum] + endif + + let fg = synIDattr(groupnum, 'fg', s:type) + let bg = synIDattr(groupnum, 'bg', s:type) + let rv = synIDattr(groupnum, 'reverse', s:type) + let bd = synIDattr(groupnum, 'bold', s:type) + + " FIXME other attributes? + + if rv == "" || rv == -1 + let rv = 0 + endif + + if bd == "" || bd == -1 + let bd = 0 + endif + + if rv + let temp = bg + let bg = fg + let fg = temp + endif + + if fg == "" || fg == -1 + unlet fg + endif + + if !exists('fg') && !groupnum == hlID('Normal') + let fg = synIDattr(hlID('Normal'), 'fg', s:type) + if fg == "" || fg == -1 + unlet fg + endif + endif + + if bg == "" || bg == -1 + unlet bg + endif + + if !exists('bg') + let bg = synIDattr(hlID('Normal'), 'bg', s:type) + if bg == "" || bg == -1 + unlet bg + endif + endif + + let retv = "\[22;24;25;27;28" + + if bd + let retv .= ";1" + endif + + if exists('fg') && fg < 8 + let retv .= ";3" . fg + elseif exists('fg') && fg < 16 "use aixterm codes + let retv .= ";9" . (fg - 8) + elseif exists('fg') "use xterm256 codes + let retv .= ";38;5;" . fg + else + let retv .= ";39" + endif + + if exists('bg') && bg < 8 + let retv .= ";4" . bg + elseif exists('bg') && bg < 16 "use aixterm codes + let retv .= ";10" . (bg - 8) + elseif exists('bg') "use xterm256 codes + let retv .= ";48;5;" . bg + else + let retv .= ";49" + endif + + let retv .= "m" + + let s:ansicache[groupnum] = retv + + return retv +endfunction + +function! AnsiHighlight(output_file) + let retv = [] + + for lnum in range(1, line('$')) + let last = hlID('Normal') + let output = s:GroupToAnsi(last) . "\[K" " Clear to right + + " Hopefully fix highlighting sync issues + exe "norm! " . lnum . "G$" + + let line = getline(lnum) + + for cnum in range(1, col('.')) + if synIDtrans(synID(lnum, cnum, 1)) != last + let last = synIDtrans(synID(lnum, cnum, 1)) + let output .= s:GroupToAnsi(last) + endif + + let output .= matchstr(line, '\%(\zs.\)\{'.cnum.'}') + "let line = substitute(line, '.', '', '') + "let line = matchstr(line, '^\@[0m" + + return writefile(retv, a:output_file) +endfunction + +" See copyright in the vim script above (for the vim script) and in +" vimcat.md for the whole script. +" +" The list of contributors is at the bottom of the vimpager script in this +" project. +" +" vim: sw=2 sts=2 et ft=vim + diff --git a/shell/fid b/shell/fid new file mode 100755 index 0000000..11aa90c --- /dev/null +++ b/shell/fid @@ -0,0 +1,8 @@ +#!/bin/bash + +DIFF=/usr/bin/diff +GREP="/bin/grep" +SED=/bin/sed +DOG=/usr/local/bin/dog +${DIFF} --new-line-format='+%L' --old-line-format='-%L' --unchanged-line-format=' %L' "${1}" "${2}" | ${GREP} -v "^+.*$" | ${GREP} -v "^-.*$" | ${SED} 's/^.//' | ${DOG} + diff --git a/shell/get_color b/shell/get_color new file mode 100755 index 0000000..074904c --- /dev/null +++ b/shell/get_color @@ -0,0 +1,3 @@ +#!/bin/bash + +xterm -e 'grabc && read' diff --git a/shell/light.sh b/shell/light.sh new file mode 100755 index 0000000..9ecb57b --- /dev/null +++ b/shell/light.sh @@ -0,0 +1,78 @@ +#!/bin/bash + +FILE="" +CURLIGHT=`xbacklight | cut -d '.' -f1` + +echo $CURLIGHT + +echo $(($CURLIGHT +10)) + + +if [ "$1" = "+" ] ; +then + if [ $CURLIGHT -ge 0 ] && [ $CURLIGHT -lt 10 ] + then + xbacklight =20 + elif [ $CURLIGHT -gt 9 ] && [ $CURLIGHT -lt 20 ] + then + xbacklight =30 + elif [ $CURLIGHT -gt 19 ] && [ $CURLIGHT -lt 30 ] + then + xbacklight =40 + elif [ $CURLIGHT -gt 29 ] && [ $CURLIGHT -lt 40 ] + then + xbacklight =50 + elif [ $CURLIGHT -gt 39 ] && [ $CURLIGHT -lt 50 ] + then + xbacklight =60 + elif [ $CURLIGHT -gt 49 ] && [ $CURLIGHT -lt 60 ] + then + xbacklight =70 + elif [ $CURLIGHT -gt 59 ] && [ $CURLIGHT -lt 70 ] + then + xbacklight =80 + elif [ $CURLIGHT -gt 69 ] && [ $CURLIGHT -lt 80 ] + then + xbacklight =90 + elif [ $CURLIGHT -gt 79 ] && [ $CURLIGHT -lt 90 ] + then + xbacklight =100 + else + xbacklight =100 + fi +elif [ "$1" = "-" ] ; +then + if [ $CURLIGHT -ge 0 ] && [ $CURLIGHT -lt 10 ] + then + xbacklight =0 + elif [ $CURLIGHT -gt 9 ] && [ $CURLIGHT -lt 20 ] + then + xbacklight =10 + elif [ $CURLIGHT -gt 19 ] && [ $CURLIGHT -lt 30 ] + then + xbacklight =20 + elif [ $CURLIGHT -gt 29 ] && [ $CURLIGHT -lt 40 ] + then + xbacklight =30 + elif [ $CURLIGHT -gt 39 ] && [ $CURLIGHT -lt 50 ] + then + xbacklight =40 + elif [ $CURLIGHT -gt 49 ] && [ $CURLIGHT -lt 60 ] + then + xbacklight =50 + elif [ $CURLIGHT -gt 59 ] && [ $CURLIGHT -lt 70 ] + then + xbacklight =60 + elif [ $CURLIGHT -gt 69 ] && [ $CURLIGHT -lt 80 ] + then + xbacklight =70 + elif [ $CURLIGHT -gt 79 ] && [ $CURLIGHT -lt 90 ] + then + xbacklight =80 + else + xbacklight =90 + fi +else + echo "Invalid argument. expected '+' or '-'" +fi + diff --git a/shell/mkpw b/shell/mkpw new file mode 100755 index 0000000..e0ceed3 --- /dev/null +++ b/shell/mkpw @@ -0,0 +1,9 @@ +#!/bin/bash + +if [ "$1" = "0" ] +then + apg -a 0 -M SNCL -x 50 -m 50 -n 24 +else + apg -a 1 -M SNCL -x 50 -m 50 -n 24 +fi + diff --git a/shell/path b/shell/path new file mode 100755 index 0000000..17bafdb --- /dev/null +++ b/shell/path @@ -0,0 +1,7 @@ +#!/usr/bin/python3 + +import os as os + +PATH = os.environ['PATH'].replace(':', '\n') +print(PATH) + diff --git a/shell/random b/shell/random new file mode 100755 index 0000000..5fb241e --- /dev/null +++ b/shell/random @@ -0,0 +1,4 @@ +#!/bin/bash + +cat /proc/sys/kernel/random/entropy_avail + diff --git a/shell/stutter_white.sh b/shell/stutter_white.sh new file mode 100755 index 0000000..494c362 --- /dev/null +++ b/shell/stutter_white.sh @@ -0,0 +1,11 @@ +#!/bin/bash + + + +grep -r -n --color \ + --include "*.py" \ + --include "*.html" \ + --include "*.js" \ + --include "*.css" \ + "^.*[^[:space:]]\+.*[[:blank:]]\{2,50\}.*$" +