Written note about Linux/VMWare w/local ethernet
[nethome.git] / .bashrc
diff --git a/.bashrc b/.bashrc
index 3054275..4cf2f83 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -41,6 +41,7 @@ alias l='ls -lbF'
 alias maple="ssh -t vega.fjfi.cvut.cz maple"
 #alias cc='cc -I/home/short/include'
 alias vi='vim'
+alias grepb='grep --binary-files=binary'
 
 weberr="/var/log/httpd/error/klokan.error_log"
 if [ -f "$weberr" ];then alias weberr='tail "$weberr"';fi
@@ -53,11 +54,15 @@ export EDITOR='vim'
 export LC_CTYPE=cs_CZ.ISO-8859-2
 export PERL_MM_OPT="PREFIX=$HOME"
 export WWW_HOME="file:///home/short/.bookmarks.html"
+export GREP_OPTIONS="--binary-files=without-match --directories=skip"
 
-function cvsdiff    { cvs diff   "$@" 2>&1|             less; }; export -f cvsdiff
-function cvsdiffi   { cvs diff   "$@" 2>&1|grep -v '^?'|less; }; export -f cvsdiffi
-function cvsupdate  { cvs update "$@" 2>&1|             less; }; export -f cvsupdate
-function cvsupdatei { cvs update "$@" 2>&1|grep -v '^?'|less; }; export -f cvsupdatei
+# even when LANG is set to "en_US" it is lethal - strcoll() starts to sort case-insensitively!
+unset LANG
+
+function cvsdiff    { cvs diff   "$@" 2>&1|pipebuf -q|             less; }; export -f cvsdiff
+function cvsdiffi   { cvs diff   "$@" 2>&1|pipebuf -q|grep -v '^?'|less; }; export -f cvsdiffi
+function cvsupdate  { cvs update "$@" 2>&1|pipebuf -q|             less; }; export -f cvsupdate
+function cvsupdatei { cvs update "$@" 2>&1|pipebuf -q|grep -v '^?'|less; }; export -f cvsupdatei
 function cvsfiles {
        for i in `find . -name Entries|grep '/CVS/Entries$'`;do
                j="`echo "$i"|sed 's,CVS/Entries$,,'`"
@@ -72,10 +77,24 @@ function cvsignore {
                done
        }; export -f cvsignore
 function cvsignorerm { cvsignore | xargs rm -f; }; export -f cvsignorerm
+function cvsignoreall {
+       (find -type f|sed -e '\#/CVS/[^/]*$#d' -e 's#^\./##';cvsfiles)|sort|uniq -c|sed -n "s/^ *1`echo -e '\t'`//p"
+       }; export -f cvsignoreall
+function cvsignoreallrm { cvsignoreall | xargs rm -f; }; export -f cvsignoreallrm
 
 function wclines { awk '{x[$0]++}END{for (i in x) print x[i]"\t"i}'; }; export -f wclines
 function ulimitme { ulimit -m 100000 -d 150000 -v 200000; }; export -f ulimitme
 function grep { ( ulimitme; `which grep` "$@"; ); }; export -f grep
+function rsync { `which rsync` -v -e ssh --progress --stats --partial "$@"; }; export -f rsync
+function tohex { od -An -txC /tmp/out|tr -d '\n '|tr 'a-f' 'A-F';echo; }; export -f tohex
+function edall {
+       find -type f|while read -r i;do
+               (awk </dev/null 'BEGIN{ for (i=1;i<ARGC;i++) print ARGV[i]; }' "$@";echo -e 'w\nq')|ed -s "$i"
+               done
+       }; export -f edall
+function mi { (
+       set -ex;cd "$1";while true;do test "$PWD" != "/";if [ -e configure.in -o -e Makefile.PL ];then break;fi;cd ..;done;make install;
+       ); };export -f mi
 
 ulimit -c 0