I am trying to convert text copied to the clipboard from something like this:
+50.8863-114.0157/
to something like this:
geo:50.8927777778,-114.013055556,0
I found this code on the Web:
#!/bin/bash
x="geo:"$(xclip -o | tr -d ' ')
notify-send $x -i info
xclip -selection c
but it just removes the white space.
What I need to do is:
having +xx.xxxx-yy.yyyy/
in clipboard
where x
and y
are numbers 0 - 9
- extract the text from the clipboard as an argument
- cut
+
from the beginning - add
geo:
in the beginning - add
xx.xxxx
aftergeo:
(no spaces) - add
,
afterxx.xxxx
(no spaces) - add
yy.yyyy
after,
(no spaces) - cut
/
from the end - add
,0
to the end (no spaces) - return the result to the clipboard
ADDED LATER I figured that out myself. Here is the code that worked:
clipboard_original="$(xclip -o)"
latitude=${clipboard_original:0:8}
longitude=${clipboard_original:8:9}
clipboard_for_digikam_geo=""geo:""${latitude//+}"00000,"${longitude//+}"00000"
echo "$clipboard_for_digikam_geo" | xclip -selection c
exit