Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on keeping my local "mirror" of parts of the internet # (on /snarf). # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/snarf.e> # or at <http://angg.twu.net/e/snarf.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### ##### # # psne # ##### # (find-fline "~/.zshrc" "function psne") # (find-fline "~/.psne.log") # (find-fline "$S/.psne.log") # (find-es "wget" "wget_patch_potato") ##### # # Removing empty dirs # ##### cd /snarf # find * -type d | perl -nle 'print ":$_:";' find * -type d -depth | perl -nle 'rmdir && print $_;' ##### # # Updating ~/osnl # ##### find /snarf/ -type f -or -type l | sort > ~/osnl # (find-fline "~/osnl") ##### # # exile # ##### # (find-fline "~/TCL/exile") proc readfile {fname} { set channel [open $fname r]; set bigstr [read $channel]; close $channel return $bigstr } proc writefile {fname bigstr} { set channel [open $fname w]; puts -nonewline $channel $bigstr; close $channel } proc sys {args} { puts [join $args]; puts [eval exec -- $args] } set lines [split [read stdin] "\n"] foreach line $lines { if [regexp "^ " $line] { if [regexp "^ /snarf/(.*)/(.*)\$" $line {} pdir fname] { sys mkdir -p /esnarf/$pdir/ sys mv -fv /snarf/$pdir/$fname /esnarf/$pdir/ } else { puts "??: $line" } } } agrep '^ ' ~/osnl | eet # (find-fline "~/osnl" "danu") # (find-fline "~/osnl" "bliss") ###### # # freshmeat # ###### (for i in 0{1,2,3,4,5,6,7,8,9} {1,2}{1,2,3,4,5,6,7,8,9} 3{0,1}; do psne http://ct.us.mirrors.freshmeat.net/news/1999/05/$i/ done) |& tee o cd $S/http/www.freshmeat.net/news/1999/05/ for i in $(find * -type f | grep '\.html$'); do echo $i unhtml < $i > $i.txt done cd $S/http/www.freshmeat.net/news/1999/05/ agrep -i blade $(find * -type f | grep '\.html.txt$' | sort -r) ###### # # debian # ###### # (find-es "net" "netselect") # (find-es "net" "debian_mirrors") mynetselect $(cat /usr/doc/netselect/examples/debian-ftp-mirrors) # (find-fline "~/o2") psne $FDEBIAN_CDROM/ls-lR.gz cd $SDEBIAN gzip -dv ls-lR.gz ~/ICON/lslR2find < ls-lR > ls-lR.i ##### # # Comparing two snarf directories # ##### cd /hda3/snarf find * -type f > /tmp/o.hda3 & cd /hdd2/snarf find * -type f > /tmp/o.hdd2 & cat /tmp/o.hda3 /tmp/o.hdd2 | sort | uniq -d > /tmp/o.both # (find-fline "/tmp/o.both") # (find-pl5pod "func" "unlink LIST") cd /hda3/snarf/ \ && cat /tmp/o.both \ | perl -nle 'unlink && print $_;' \ |& tee ~/o cd /hda3/snarf/ \ && find * -type d -depth \ | perl -nle 'rmdir && print $_;' cd /hda3/snarf/ \ && find * -type l \ | perl -nle 'unlink && print $_;' cd /hda3/snarf/ \ && for i in $(find * -type f); do laf /snarf/$i done cd /hda3/snarf/ # (find-pl5pod "func" "mkdir FILENAME,MODE") # (find-pl5pod "func" "C<0777> for directories") find * -type d \ | perl -nle 'mkdir "/snarf/$_", 0777;' read for i in $(find * -type f); do cp -v $i /snarf/$i done # (find-fline "/hda3/snarf/ftp/metalab.unc.edu/pub/docs/books/gutenberg/etext91/moby.zip") # Local Variables: # coding: utf-8-unix # End: