Mercurial > ec-dotfiles
annotate bin/index2 @ 255:4a0f963a3ff1
PATH adjustment for OpenBSD.
| author | Edho Arief <edho@myconan.net> | 
|---|---|
| date | Tue, 15 Nov 2011 12:10:09 +0700 | 
| parents | 5bafb912837e | 
| children | 
| rev | line source | 
|---|---|
| 124 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 1 #!/bin/sh | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 2 | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 3 # Index version 2! Much better than first one. Hopefully. | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 4 | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 5 # Execute safely. | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 6 safe_path() | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 7 { | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 8 __start=$(printf "%s" | cut -c 1) | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 9 __path= | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 10 case "${__start}" in | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 11 .|/) __path="$*";; | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 12 *) __path="./$*";; | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 13 esac | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 14 printf "%s" "${__path}" | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 15 } | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 16 | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 17 get_basename() { basename "$(safe_path "$*")"; } | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 18 get_basename_pipe() { sed -e 's#.*/\([/]*\)$#\1#'; } | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 19 | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 20 filename_hash() | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 21 { | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 22 printf "%s" "$(get_basename "$*")" | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 23 } | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 24 generate_table_of_files() | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 25 { | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 26 filetable_generator "$@" | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 27 } | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 28 filetable_generator() | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 29 { | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 30 # Uses perl for speed. | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 31 perl -e 'use File::Find; | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 32 use Digest::SHA1 qw(sha1_hex); | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 33 use_warnings; | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 34 use_strict; | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 35 sub printer { printf("%s\n", sha1_hex($_)) if(-e && -f && !-l); } | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 36 find(\&printer, @ARGV);' "$@" | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 37 } | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 38 _srcdir=. | 
| 
5bafb912837e
Massive addition of old scripts collection.
 Edho Prima Arief <edho@myconan.net> parents: diff
changeset | 39 generate_table_of_files "$@" | 
