diff options
| author | Marc Vertes <mvertes@free.fr> | 2021-06-17 14:43:28 +0200 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2021-06-17 14:43:28 +0200 |
| commit | e3df85d9fdba7e69993a24437d4af251af4932f3 (patch) | |
| tree | 7e5574bc6c22c794b1f27de223a198c3463c68cc | |
| parent | 1e297a9b960c6d0784856cb59b08770c7f90fbe8 (diff) | |
update
| -rwxr-xr-x | bin/vimki | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bin/vimki b/bin/vimki new file mode 100755 index 0000000..af5c58c --- /dev/null +++ b/bin/vimki @@ -0,0 +1,37 @@ +#!/bin/sh + +# Batch operations on vimki + +# rename changes the link name and propagates the change in the wiki +rename1() { + gawk -v old="$1" -v new="$2" -v IGNORECASE=1 ' + { + gsub("[[]" old "[]]", "[" new "]") + print + } + ' "$3" +} + +linkfile() { + echo "$1" | + tr '[:upper:]' '[:lower:]' | + tr 'åäáàâãçéèêëîíìïôöóõòùûüúÿñ' 'aaaaaaceeeeiiiiooooouuuuyn' | + awk '{gsub(/\W+/, "_"); print}' +} + +rename() { + for f in *; do + rename1 "$1" "$2" "$f" > "$f.$$" && mv "$f.$$" "$f" + done + oldf="$(linkfile "$1")" + [ -f "$oldf" ] && mv "$oldf" "$(linkfile "$2")" +} + +fixfiles() { + for f in *; do + mv "$f" "$(linkfile "$f")" + done +} + +cd ~/Wiki +"$@" |
