Mercurial > ec-dotfiles
annotate bin/moedump @ 584:4130d41c6acb
Support for msys' USERNAME variable
| author | nanaya <me@myconan.net> | 
|---|---|
| date | Wed, 09 Mar 2016 15:37:53 +0900 | 
| 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 safe_mv() { mv -- "$@"; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
4 safe_ln() { ln -s -- "$1" "$2"; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
5 safe_basename() { basename -- "$1"; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
6 get_md5() { ${MD5} -- "$1" | cut -d' ' -f1; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
7 get_filename() { safe_basename "${1%.*}"; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
8 | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
9 eod() { "$@" || errx "$@"; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
10 errx() { echo "Error executing: $@"; exit 1; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
11 MD5="md5sum" | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
12 [ "$(safe_basename "${PWD}")" = ".all" ] || { echo "Wrong working directory. This script must be run in .all directory. Aborting."; exit 1; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
13 | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
14 [ -d "../.trash" ] || eod mkdir ../.trash | 
| 
 
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 echo "Total files: $(find ../* -type f | wc -l) files." | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
17 | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
18 num=0 | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
19 for i in ../*/* | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
20 do | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
21 if [ -h "$i" ] | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
22 then | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
23 [ -f "$i" ] || { eod safe_mv "$i" "../.trash" && echo "Broken file: $(safe_basename "$i"). Moved to trash."; } | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
24 else | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
25 if [ "$(get_md5 "$i")" = "$(get_filename "$i")" ] | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
26 then | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
27 eod safe_mv "$i" . | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
28 eod safe_ln "../.all/$(safe_basename "$i")" "$i" | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
29 else | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
30 eod safe_mv "$i" "../.trash" && echo "Broken file: $(get_filename "$i"). Moved to .trash." | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
31 fi | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
32 printf "%s" "." | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
33 num=$((num+1)) | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
34 [ "$((num%100))" -eq 0 ] && printf "${num}" | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
35 fi | 
| 
 
5bafb912837e
Massive addition of old scripts collection.
 
Edho Prima Arief <edho@myconan.net> 
parents:  
diff
changeset
 | 
36 done | 
| 
 
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 echo "done" | 
