34 lines
815 B
Bash
Executable File
34 lines
815 B
Bash
Executable File
#!/bin/sh
|
|
. $HOME/.bin/_config
|
|
|
|
# build list...
|
|
build_list() {
|
|
L=$( ssh $USER@$DOMAIN \
|
|
"find \"$LOCAL_PATH\" \
|
|
! -path '*/hn/*' \
|
|
! -path '*/git/*' \
|
|
! -path '*/p/*' \
|
|
-type f \
|
|
\( -name '*.gph' \
|
|
-o -name '*.dcgi' \
|
|
-o -name '*.txt' \
|
|
-o -name '*.sh' \
|
|
\) \
|
|
| cut -b "$(( ${#LOCAL_PATH} + 2))- \
|
|
| sort -hr )
|
|
}
|
|
build_list
|
|
|
|
# edit loop
|
|
while true;
|
|
do
|
|
S=$( printf '%s' "$L" | fzf --no-sort )
|
|
[ "$?" -eq "130" ] && exit # fzf return 130 on ctrl+c
|
|
[ -z "$S" ] && continue
|
|
A="$( printf '%s\n%s' "EDIT" "DELETE" | fzf --no-sort )"
|
|
case $A in
|
|
EDIT) vim "scp://$USER@$DOMAIN/$LOCAL_PATH/$S"; ;;
|
|
DELETE) ssh $USER@$DOMAIN "rm $LOCAL_PATH/$S"; build_list; ;;
|
|
esac
|
|
done
|