From 6fae25b305d714b3ab7608fa003f1af9bf024545 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Tue, 14 Feb 2023 13:33:23 +0800 Subject: Rename tools into bin --- tools/cron/task.cron | 2 - tools/csv/csv.2geojson | 46 -------- tools/csv/csv.move_column | 18 --- tools/csv/csv.reorder | 17 --- tools/desktop/password-store.sh | 51 -------- tools/desktop/takeshot | 78 ------------- tools/docker/dktags | 29 ----- tools/gis/match-road.sh | 148 ----------------------- tools/git/check-repos.sh | 48 -------- tools/git/swap-protocol.bash | 25 ---- tools/github/github-release.sh | 154 ------------------------ tools/gpx/footer | 1 - tools/gpx/gpx.check.py | 85 -------------- tools/gpx/gpx.merge_gpx.sh | 5 - tools/gpx/gpx.merge_trk.sh | 4 - tools/gpx/gpx2geojson.sh | 48 -------- tools/gpx/header | 10 -- tools/init/check_upstream | 24 ---- tools/init/exit.sh | 5 - tools/init/load-settings.sh | 70 ----------- tools/init/sync.sh | 37 ------ tools/install.sh | 30 ----- tools/markdown/reveal | 45 ------- tools/misc/brightness.sh | 10 -- tools/misc/diff-highlight | 213 ---------------------------------- tools/misc/flash.sh | 39 ------- tools/misc/mvt_decode.py | 11 -- tools/misc/ocr | 16 --- tools/misc/refresh-todo.sh | 5 - tools/misc/simple_cors_server.py | 18 --- tools/misc/sync-gist.sh | 21 ---- tools/misc/transfer | 22 ---- tools/osm/josm_install.sh | 8 -- tools/osm/note | 1 - tools/osm/osm | 18 --- tools/osm/osm.api.changeset.add | 10 -- tools/osm/osm.api.changeset.close | 3 - tools/osm/osm.api.changeset.commit | 80 ------------- tools/osm/osm.api.changeset.create | 25 ---- tools/osm/osm.api.changeset.update | 9 -- tools/osm/osm.api.changeset.upload | 6 - tools/osm/osm.api.fetch | 6 - tools/osm/osm.api.fetch.full | 5 - tools/osm/osm.api.fetch.history | 6 - tools/osm/osm.api.member.relation | 4 - tools/osm/osm.api.referenced.relation | 6 - tools/osm/osm.api.referenced.way | 5 - tools/osm/osm.api.upload.to | 12 -- tools/osm/osm.file.get | 4 - tools/osm/osm.file.get.full | 4 - tools/osm/osm.file.query | 4 - tools/osm/osm.goto | 3 - tools/osm/osm.help | 33 ------ tools/osm/osm.list.ids | 3 - tools/osm/osm.list.tag | 10 -- tools/osm/osm.list.tags | 15 --- tools/osm/osm.member.relation | 8 -- tools/osm/osm.osc.by_member | 31 ----- tools/osm/osm.osc.by_tag | 45 ------- tools/osm/osm.osm.remove | 9 -- tools/osm/osm.pbf.update | 41 ------- tools/osm/osm.query | 3 - tools/osm/sequence_number.sh | 22 ---- tools/sns/mastodon.sh | 17 --- tools/task/tkk | 7 -- tools/unix/fdswap | 41 ------- tools/wiki/diary | 49 -------- tools/wiki/log.sh | 31 ----- tools/wiki/notify | 7 -- 69 files changed, 1926 deletions(-) delete mode 100644 tools/cron/task.cron delete mode 100755 tools/csv/csv.2geojson delete mode 100755 tools/csv/csv.move_column delete mode 100755 tools/csv/csv.reorder delete mode 100755 tools/desktop/password-store.sh delete mode 100755 tools/desktop/takeshot delete mode 100755 tools/docker/dktags delete mode 100755 tools/gis/match-road.sh delete mode 100755 tools/git/check-repos.sh delete mode 100755 tools/git/swap-protocol.bash delete mode 100755 tools/github/github-release.sh delete mode 100644 tools/gpx/footer delete mode 100755 tools/gpx/gpx.check.py delete mode 100755 tools/gpx/gpx.merge_gpx.sh delete mode 100755 tools/gpx/gpx.merge_trk.sh delete mode 100755 tools/gpx/gpx2geojson.sh delete mode 100644 tools/gpx/header delete mode 100755 tools/init/check_upstream delete mode 100755 tools/init/exit.sh delete mode 100755 tools/init/load-settings.sh delete mode 100755 tools/init/sync.sh delete mode 100755 tools/install.sh delete mode 100755 tools/markdown/reveal delete mode 100755 tools/misc/brightness.sh delete mode 100755 tools/misc/diff-highlight delete mode 100755 tools/misc/flash.sh delete mode 100755 tools/misc/mvt_decode.py delete mode 100755 tools/misc/ocr delete mode 100755 tools/misc/refresh-todo.sh delete mode 100755 tools/misc/simple_cors_server.py delete mode 100755 tools/misc/sync-gist.sh delete mode 100755 tools/misc/transfer delete mode 100755 tools/osm/josm_install.sh delete mode 100644 tools/osm/note delete mode 100644 tools/osm/osm delete mode 100755 tools/osm/osm.api.changeset.add delete mode 100755 tools/osm/osm.api.changeset.close delete mode 100755 tools/osm/osm.api.changeset.commit delete mode 100755 tools/osm/osm.api.changeset.create delete mode 100755 tools/osm/osm.api.changeset.update delete mode 100755 tools/osm/osm.api.changeset.upload delete mode 100755 tools/osm/osm.api.fetch delete mode 100755 tools/osm/osm.api.fetch.full delete mode 100755 tools/osm/osm.api.fetch.history delete mode 100755 tools/osm/osm.api.member.relation delete mode 100755 tools/osm/osm.api.referenced.relation delete mode 100755 tools/osm/osm.api.referenced.way delete mode 100755 tools/osm/osm.api.upload.to delete mode 100755 tools/osm/osm.file.get delete mode 100755 tools/osm/osm.file.get.full delete mode 100755 tools/osm/osm.file.query delete mode 100755 tools/osm/osm.goto delete mode 100755 tools/osm/osm.help delete mode 100755 tools/osm/osm.list.ids delete mode 100755 tools/osm/osm.list.tag delete mode 100755 tools/osm/osm.list.tags delete mode 100755 tools/osm/osm.member.relation delete mode 100755 tools/osm/osm.osc.by_member delete mode 100755 tools/osm/osm.osc.by_tag delete mode 100755 tools/osm/osm.osm.remove delete mode 100755 tools/osm/osm.pbf.update delete mode 100755 tools/osm/osm.query delete mode 100755 tools/osm/sequence_number.sh delete mode 100755 tools/sns/mastodon.sh delete mode 100755 tools/task/tkk delete mode 100755 tools/unix/fdswap delete mode 100755 tools/wiki/diary delete mode 100755 tools/wiki/log.sh delete mode 100755 tools/wiki/notify (limited to 'tools') diff --git a/tools/cron/task.cron b/tools/cron/task.cron deleted file mode 100644 index 7521cca..0000000 --- a/tools/cron/task.cron +++ /dev/null @@ -1,2 +0,0 @@ -# Push changes on ~/.task -*/20 * * * * cd ~/.task && git add * && git commit -am update && git push origin 2>&1 diff --git a/tools/csv/csv.2geojson b/tools/csv/csv.2geojson deleted file mode 100755 index e742be6..0000000 --- a/tools/csv/csv.2geojson +++ /dev/null @@ -1,46 +0,0 @@ -#! /bin/bash - -# -s to skip specify columns of longitude and latitude -for i in "$@" -do -case $i in - -s) - lon_col=0; lat_col=1 - shift;; - - *) - csv=$i - shift;; -esac -done - -# if no -s option, just read from input -if [ "$lon_col" != "0" ]; then - # show each field with index in csv - echo -------------- > /dev/tty - head -1 < $csv | tr ',' '\n' | nl > /dev/tty - echo -------------- > /dev/tty - echo > /dev/tty - - # get index of lon/lat column - read -p "Number of longitude column: " lon_col - read -p "Number of latitude column: " lat_col -fi - -(which dos2unix &>/dev/null && dos2unix <$csv || cat $csv) |\ -# move lon and lat to the first and second column -awk -F',' -v lon_th=$lon_col -v lat_th=$lat_col '\ - BEGIN{OFS=","}\ - {printf $lon_th "," $lat_th; for (i=1; i<= NF; i++) if (i != lat_th && i != lon_th) printf "," $i; print ""}\ - ' |\ -# change csv into array format, like [lon, lat, "field1", field2...] -sed 's/[^,]*/"\0"/g; s/.*/[\0]/g' |\ -# wrap other fields as a json object, like [lon, lat, {...}] -jq -s '.[0][2:] as $fields | .[1:][] | [.[0], .[1], ([$fields, .[2:]] | transpose | map({(.[0]): .[1]}) | add)]' |\ -# create array of geojson point features -jq '{"type": "Feature", "properties": .[2], "geometry":{ "type": "Point", "coordinates": [(.[0] | tonumber), (.[1] | tonumber)] } }' |\ -# wrap features as geojson format -jq -s '{"type": "FeatureCollection", "features": .}' |\ -tee /tmp/geojson - -echo stored into /tmp/geojson > /dev/tty diff --git a/tools/csv/csv.move_column b/tools/csv/csv.move_column deleted file mode 100755 index a62701f..0000000 --- a/tools/csv/csv.move_column +++ /dev/null @@ -1,18 +0,0 @@ -#! /bin/bash - -# show each field with index in csv -echo -------------- > /dev/tty -head -1 < $1 | sed 's/,/ /g' | awk '{for (i=1; i<=NF; i++) printf $i "_" i " "; print ""}' > /dev/tty -echo -------------- > /dev/tty -echo > /dev/tty - -# get index of lon/lat column -read -p "Move which column? " origin_col -read -p "To which index? " new_col - -cat $1 | -# move lon and lat to the first and second column -awk -F',' -v OFS="," -v origin_th=$origin_col -v new_th=$new_col '\ - {for (i=1; i<= NF; i++) if (i == new_th) printf $origin_th OFS $i OFS; else if (i == origin_th); else printf $i OFS; print ""}\ - ' |\ -sed 's/,$//g' diff --git a/tools/csv/csv.reorder b/tools/csv/csv.reorder deleted file mode 100755 index 8a64239..0000000 --- a/tools/csv/csv.reorder +++ /dev/null @@ -1,17 +0,0 @@ -#! /bin/bash - -# show each field with index in csv -echo -------------- > /dev/tty -head -1 < $1 | awk -F',' '{for (i=1; i<=NF; i++) printf $i "_" i " "; print ""}' > /dev/tty -echo -------------- > /dev/tty -echo > /dev/tty - -read -p "type column numbers by new order, like 3 2 1: " order - -arrange=$(echo $order | sed -r 's/([^ ]+)/$\1/g' | tr ' ' ',') - -cat $1 |\ -awk -F',' "BEGIN{OFS=\",\"}{print $arrange}" |\ -tee /tmp/csv - -echo "Also copied to /tmp/csv" > /dev/tty diff --git a/tools/desktop/password-store.sh b/tools/desktop/password-store.sh deleted file mode 100755 index 1de3148..0000000 --- a/tools/desktop/password-store.sh +++ /dev/null @@ -1,51 +0,0 @@ -#! /bin/bash - -# Use rofi to quickly access password by command 'pass' -# xsel needed !! - -ROFI_ARGS=( "-font" "Hack 22" ) - -find ~/.password-store -name '*gpg' -printf %P\\n | \ -sed 's/.gpg$//' | \ -rofi -dmenu "${ROFI_ARGS[@]}" | { - # Get arguments for command 'pass' - read ARG1 ARG2 - - if [[ -z $ARG1 ]]; then - exit 1 - elif [[ $ARG1 == edit ]]; then - # Edit an existing password - alacritty --hold -e pass edit $ARG2 && \ - rofi -e Password Edited: $ARG2 - else - # If pass fails, then it means password doesn't exists - set pipefail - - pass $ARG1 | { - # If command fails, just fail directly - read PASSWORD; [[ -z $PASSWORD ]] && exit 1 - - # Simply copy password into system clipboard - echo $PASSWORD | xsel -ib - - # Show success message, and display extra contents - rofi "${ROFI_ARGS[@]}" \ - -e "Copied: $ARG1 $(echo; echo; cat | sed '1{/^$/d}')" - } || { - # Make sure user want to create a new password - return_code=$(alacritty -e sh -c ' - dialog --yesno "Password does not exist, Generate a new one?" 8 30; - echo "$?" - ') - [[ $return_code == 1 ]] && exit 1 - - # Generate a new password by ARG1 - alacritty -e pass generate $ARG1 --clip && \ - - # Show success message - rofi "${ROFI_ARGS[@]}" -e "Password Created and Copied: $ARG1" - } - - # TODO: if return code is 2, it means gpg password is not cached - fi -} diff --git a/tools/desktop/takeshot b/tools/desktop/takeshot deleted file mode 100755 index 09252f3..0000000 --- a/tools/desktop/takeshot +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env bash - -## Copyright (C) 2020-2022 Aditya Shakya -## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3 - -## Script to take screenshots with maim - -time=`date +%Y-%m-%d-%H-%M-%S` -geometry=`xrandr | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'` -dir="`xdg-user-dir PICTURES`" -file="Screenshot_${time}_${geometry}.png" - -# notify and view screenshot -notify_view () { - dunstify -u low --replace=699 -i /usr/share/archcraft/icons/dunst/picture.png "Copied to clipboard." - viewnior ${dir}/"$file" - if [[ -e "$dir/$file" ]]; then - dunstify -u low --replace=699 -i /usr/share/archcraft/icons/dunst/picture.png "Screenshot Saved." - else - dunstify -u low --replace=699 -i /usr/share/archcraft/icons/dunst/picture.png "Screenshot Deleted." - fi -} - -# countdown -countdown () { - for sec in `seq $1 -1 1`; do - dunstify -t 1000 --replace=699 -i /usr/share/archcraft/icons/dunst/timer.png "Taking shot in : $sec" - sleep 1 - done -} - -# take shots -shotnow () { - cd ${dir} && maim -u -f png | tee "$file" | xclip -selection clipboard -t image/png - notify_view -} - -shot5 () { - countdown '5' - sleep 1 && cd ${dir} && maim -u -f png | tee "$file" | xclip -selection clipboard -t image/png - notify_view -} - -shot10 () { - countdown '10' - sleep 1 && cd ${dir} && maim -u -f png | tee "$file" | xclip -selection clipboard -t image/png - notify_view -} - -shotwin () { - cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | tee "$file" | xclip -selection clipboard -t image/png - notify_view -} - -shotarea () { - cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.855 | tee "$file" | xclip -selection clipboard -t image/png - notify_view -} - -if [[ ! -d "$dir" ]]; then - mkdir -p "$dir" -fi - -if [[ "$1" == "--now" ]]; then - shotnow -elif [[ "$1" == "--in5" ]]; then - shot5 -elif [[ "$1" == "--in10" ]]; then - shot10 -elif [[ "$1" == "--win" ]]; then - shotwin -elif [[ "$1" == "--area" ]]; then - shotarea -else - echo -e "Available Options : --now --in5 --in10 --win --area" -fi - -exit 0 diff --git a/tools/docker/dktags b/tools/docker/dktags deleted file mode 100755 index 5a91434..0000000 --- a/tools/docker/dktags +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# Orignally copied from https://stackoverflow.com/a/39454426/7051075 - -if [ $# -lt 1 ] -then -cat << HELP - -dktags -- list all tags for a Docker image on a remote registry. - -EXAMPLE: - - list all tags for ubuntu: - dktags ubuntu - - - list all php tags containing apache: - dktags php apache - -HELP -fi - -image="$1" -tags=`wget -q https://registry.hub.docker.com/v1/repositories/${image}/tags -O - | sed -e 's/[][]//g' -e 's/"//g' -e 's/ //g' | tr '}' '\n' | awk -F: '{print $3}'` - -if [ -n "$2" ] -then - tags=` echo "${tags}" | grep "$2" ` -fi - -echo "${tags}" diff --git a/tools/gis/match-road.sh b/tools/gis/match-road.sh deleted file mode 100755 index d9beaae..0000000 --- a/tools/gis/match-road.sh +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/env bash -# -# Author: Pham -# -# This script accepts a single GPX file as parameter and -# output the processed GPX body to STDOUT, using Mapbox Map Matching API v4. -# read doc at: https://docs.mapbox.com/api/legacy/map-matching-v4/ -# -# Example: -# -# match-road.sh raw.gpx > new.gpx -# -# Hint: -# -# Remember to put Mapbox Access Token at the top! - -#set -x -set -e - -# put yout Mapbox token here -ACCESS_TOKEN=$(cat ~/settings/tokens/mapbox) -# number of coordinates for each Mapbox Map Matching API request, Maximum value is 100 -LIMIT=100 -# define the lowest confidence of accepted matched points -THRESHOLD=0.0001 - -if [[ -z $1 ]]; then echo "You need to give a gpx file!"; exit 1; fi -ORIGIN_DATA=/tmp/$(basename $1).origin -RESPONSES=/tmp/$(basename $1).responses && true > $RESPONSES -MATCHED=/tmp/$(basename $1).matched - -# extract data from the given gpx file -# only keep first point and remove the rest which in the same "second" -# input: [gpx format] -# output: [121.0179739,14.5515336] 1984-01-01T08:00:46 -get_data() { - sed -nr '// {H; /<\/trkpt>/ {x; s/\n/ /g; p; s/.*//; x}}' $1 | - sed -nr 'h; s/.*lon="([^"]+).*/\1/; H; g - s/.*lat="([^"]+).*/\1/; H; g - # If trkpt has no time, leave it blank - /time/ { - s/.*