Miscellaneous small utils, mainly for the Bash shell.
Python Perl Shell Java Go D
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets xml2json added Jan 11, 2017
dictionary update Jan 12, 2017
dropbox moved to Python 3 Jan 9, 2017
firefox update Jan 12, 2017
lib byte decode Jan 19, 2017
mouse refactor Jan 9, 2017
radio moved to Python 3 Jan 9, 2017
replace_accents moved to Python 3 Jan 9, 2017
templates moved to Python 3 Jan 9, 2017
tests tests added Jan 12, 2017
LICENSE license added Jan 6, 2017
README.md twitch2mp3 added Jan 17, 2017
alarm.py tests added Jan 12, 2017
cb.py update Jan 12, 2017
config.py twitch2mp3 added Jan 17, 2017
fftabs.py better usage info Jan 11, 2017
get_alap.py moved to Python 3 Jan 9, 2017
get_images.py moved to Python 3 Jan 9, 2017
get_links.py better usage info Jan 11, 2017
github_user_email.py moved to Python 3 Jan 9, 2017
here.py moved to Python 3 Jan 9, 2017
here.sh here.sh added Jan 4, 2016
img_to_base64.py better usage info Jan 11, 2017
install.txt requirements Jan 9, 2017
is_net_back.py is_net_back.py added Jan 10, 2017
myip.py myip added Jan 9, 2017
ocr.py update Jan 12, 2017
open_in_tabs.py moved to Python 3 Jan 9, 2017
prettify.py better usage info Jan 11, 2017
py2rtf.py better usage info Jan 11, 2017
redirect_to.py better usage info Jan 11, 2017
rep.py better usage info Jan 11, 2017
requirements.txt update Jan 12, 2017
run_tests.sh ocr.py added; a test is added Jan 11, 2017
slogan.py slogan added Jan 10, 2017
sp.py ocr.py added; a test is added Jan 11, 2017
tocb.py moved to Python 3 Jan 9, 2017
top10.py moved to Python 3 Jan 9, 2017
twitch2mp3.py nicer output Jan 17, 2017
us.py ocr.py added; a test is added Jan 11, 2017
userpass.py userpass added Jan 10, 2017
xml2json.py better usage info Jan 11, 2017

README.md

Bash Utils (miscellaneous small utils for the Bash shell)

New (Jan 9, 2017)! All scripts were updated to Python 3. The original Python 2 version (which is not maintained anymore) is tagged as "v0.1". You can find that under the "release" link.

Here I collect some small command-line utils.

dictionary/meaning.py

  • Look up the meaning of a word.
  • Usage: meaning pen
  • Meaning: what does the word pen mean?

dropbox/dropbox_permissions.py

  • Set directory/file permissions in your Dropbox folder in an intelligent way.
  • Intended audience: Linux users who also use Windows sometimes.
  • Usage: put the script in the root of your Dropbox folder and launch it.
  • blog post

dropbox/get_public_link.py

  • Show the public Dropbox link(s) of one (or several) file(s).
  • Usage: get_public_link [<file> | -a]
  • blog post

firefox/export_firefox_cookies.py

  • This script extracts cookies from Firefox's cookies.sqlite that are specific to a given host. The exported cookies are saved in cookies.txt.
  • The original script was written by Dirk Sohler.
  • Usage: export_firefox_cookies.py <host>
  • blog post

mouse/mousepos_gui.py

radio/radio.py

  • A minimalistic radio player.
  • Available stations: Slay Radio, goa, trance, chillout, etc.
  • Usage: radio.py

replace_accents/replace_latex_accents.pl

  • This script allows you to write special Hungarian and French characters in a simple way (using the ISO-8859-1 (Latin-1) charset), then convert them to their LaTeX-equivalents.
  • Example: La'szlo' => L\'{a}szl\'{o}
  • blog post

replace_accents/replace_french_accents_to_latex.pl

  • This script converts a French accented text to LaTeX replacing the funny characters with their LaTeX equivalents.
  • Example: é => \'{e}
  • blog post

alarm.py

  • A simple alarm script that plays a list of MP3s at a given time. Very useful if you leave your computer switched on during the night.
  • Usage:
$ alarm -p
    Play music first to adjust volume.
$ alarm -t 7h5
    Set alarm time (5 past 7 in this example).

cb.py

  • Print the content of the clipboard to the standard output.
  • Usage: cb.py

fftabs.py

  • A command line program for manipulating Firefox tabs.
  • Requirements: Firefox + MozRepl add-on.
  • Help: fftabs -h

get_alap.py

  • An interactive program to generate a skeleton source code.
  • Supported languages: Python, Go, Java, C, D.
  • Usage: get_alap.py

get_images.py

  • Extract image links from a web page.
  • Usage: get_images URL [URL]... [-l]

get_links.py

  • Extract all links from a web page.
  • Usage: get_links.py <URL>
  • blog post

github_user_email.py

  • An interactive program that figures out the email address of a GitHGub user.
  • Usage: github_user_email.py

here.py and here.sh

  • Print just the name of the current directory. For instance, if you are in /home/students/solo, then this script will print just solo.
  • here.sh simply prints the output, while here.py, in addition, copies the output to the clipboards.
  • Usage: here

img_to_base64.py

  • Take an image file and encode it with BASE64. Put the encoded data in an "img" HTML tag.
  • Usage: img_to_base64 <image_file>
  • blog post

is_net_back.py

  • Play a sound when the Internet connection is back.
  • Usage: is_net_back

myip.py

  • My external IP address.
  • Usage: myip

ocr.py

  • A wrapper script around the Tesseract OCR engine. Convert an image to string.
  • Usage: ocr <image_file>

open_in_tabs.py

  • Read URLs from the standard input and open them in separated browser tabs.
  • Usage: cat url_list.txt | open_in_tabs
  • blog post

prettify.py

  • Prettify an HTML page, i.e. pretty print its HTML source.
  • The script prints the HTML source that is built by BeautifulSoup (BS). Idea: if you want to manipulate a page with BS, analyze the prettified source instead of the original because this is how BS stores it.
  • Usage: prettify <URL>
  • blog post

py2rtf.py

  • Transform a python source file to RTF.
  • Usage: py2rtf [-f] hello.py
  • Meaning: the output is written to hello.rtf
  • blog post

redirect_to.py

  • This script tells you where a webpage redirects.
  • Usage: redirect_to.py <URL>
  • blog post

rep.py

  • Repeat a bash command several times.
  • Usage: rep <rep> <cmd>
  • Example: rep 3 echo hello
  • Meaning: print the text "hello" three times.

slogan.py

  • Generate some slogans from a keyword.
  • Usage: slogan <keyword>

sp.py

  • Print the absolute path of a file. If no parameter is passed, show the current path. The name stands for "show path".
  • This is one of my most useful scripts :) I use it every day.
  • Usage: sp [<filename>]
  • blog post

tocb.py

  • Copy the text from the standard input to ALL clipboards. Thus, you can use any paste method to insert your text (middle mouse button or Shift+Insert). The name stands for "to clipboard(s)".
  • Usage: cat file.txt | tocb
  • Options: with -t you can trim the text first (remove whitespaces from both ends of the text).
  • blog post

top10.py

  • Show the top 10 largest files in the current directory. Filesizes can be shown in a human-readable format with the -h option.
  • Usage: top10 [-h]

twitch2mp3.py

  • Grab a twitch video in mp3.
  • Usage: twitch2mp3 TWITCH_VIDEO_URL

userpass.py

  • Username and password generator.
  • Usage: userpass

us.py

  • Change spaces to underscores. Pass a string as a parameter OR pass it on the standard input.
  • Example #1: us "How to Think Like a Computer Scientist.pdf"
  • Result #1: How_to_Think_Like_a_Computer_Scientist.pdf
  • Example #2: echo "he he" | us
  • Result #2: he_he

xml2json.py

  • Convert an XML file to JSON.
  • This is a wrapper around the excellent xmltodict library.
  • Usage: xml2json <input.xml>