Mercurial > ec-dotfiles
view bin/index2 @ 608:f894f33a762c
Shiny fingerprint
author | nanaya <me@nanaya.pro> |
---|---|
date | Tue, 20 Jun 2017 01:33:06 +0900 |
parents | 5bafb912837e |
children |
line wrap: on
line source
#!/bin/sh # Index version 2! Much better than first one. Hopefully. # Execute safely. safe_path() { __start=$(printf "%s" | cut -c 1) __path= case "${__start}" in .|/) __path="$*";; *) __path="./$*";; esac printf "%s" "${__path}" } get_basename() { basename "$(safe_path "$*")"; } get_basename_pipe() { sed -e 's#.*/\([/]*\)$#\1#'; } filename_hash() { printf "%s" "$(get_basename "$*")" } generate_table_of_files() { filetable_generator "$@" } filetable_generator() { # Uses perl for speed. perl -e 'use File::Find; use Digest::SHA1 qw(sha1_hex); use_warnings; use_strict; sub printer { printf("%s\n", sha1_hex($_)) if(-e && -f && !-l); } find(\&printer, @ARGV);' "$@" } _srcdir=. generate_table_of_files "$@"