Advertisement
Guest User

Klipper-Replace-Text.bash

a guest
Aug 31st, 2011
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.21 KB | None | 0 0
  1. #! /bin/bash
  2.  
  3. # Ersetze den übergebenen Text aus der Zwischenablage mit
  4. # einem neuen Text.
  5. # Bsp.: Mache aus "SgDuH" "Sehr geehrte Damen und Herren"
  6.  
  7. replace_db="$HOME/var/klipper-replace-text.txt"
  8.  
  9. # Holen:
  10. # qdbus org.kde.klipper /klipper  org.kde.klipper.klipper.getClipboardContents
  11. # Setzen:
  12. # qdbus org.kde.klipper /klipper  org.kde.klipper.klipper.setClipboardContents Klipper-Replace-Text
  13.  
  14. # Hole Text aus der Zwischenablage
  15. clip=$( qdbus org.kde.klipper /klipper org.kde.klipper.klipper.getClipboardContents )
  16. clip_quoted=$( printf "%q" "$clip" )
  17.  
  18. pritnf "%s\t%s\t%s <-- START\n" "$(env LC_TIME=C date)" "$clip" "$clip_quoted" >> /tmp/KRT.log
  19.  
  20. # Suche in der "DatenbanK"
  21. replace=$( awk -F'°' "/^${clip_quoted}/ "'{print $2}' "$replace_db" 2> /dev/null )
  22.  
  23. # Was gefunden?
  24. [[ -z "$replace" ]] && exit 1
  25.  
  26. # Expandiere evtl. vorhandene Backslash Sequenzen (\n -> Zeilenumbruch)
  27. replace_bs=$( printf "%b" "$replace" )
  28.  
  29. # Speichere in Zwischenablage
  30. qdbus org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents "$replace_bs" > /dev/null 2>&1
  31. printf "%s\n" "$replace_bs"
  32.  
  33. printf "%s\t%s\t%s\t%s\n" "$(env LC_TIME=C date)" "$clip" "$clip_quoted" "$replace" >> /tmp/KRT.log
  34.  
  35. exit $?
  36. # EOF #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement