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.
- Author: Laszlo Szathmary, 2011-2017 ([email protected])
- Github: https://github.com/jabbalaci/Bash-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).
- Dropbox made some changes in 2017, so it doesn't work anymore.
- 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 incookies.txt
. New! It also exports session cookies from Firefox'srecovery.js
file. The exported cookies are saved tosession_cookies.txt
. - The original script was written by Dirk Sohler.
- Usage:
export_firefox_cookies.py <host>
- blog post
mouse/mousepos_gui.py
- Monitor the mouse position in real-time.
- It only worked for me under Python 2!
- I made it to facilitate the usage of autopy (http://www.autopy.org). Autopy has a Python 3 port here.
- Usage:
mousepos_gui.py
- blog post
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
from_base64.py
- Ask a base64 string and convert it back to a normal string (decode).
- Usage:
from_base64
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 GitHub 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 justsolo
. here.sh
simply prints the output, whilehere.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
inout.py
- An interactive script for 1) compressing a folder to another directory, and 2) uncompressing an archive file to a destination directory.
- Rationale: I always forget the order of parameters...
- Usage:
inout
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
prettyjson.py
- Prettify a JSON file.
- Usage:
prettyjson ugly.json
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
to_base64.py
- Ask a string and convert it to a base64 string (encode).
- Usage:
to_base64
to_md5.py
- This scripts reads a text interactively and prints its md5-encoded version. The output is a 32-character long hexa string.
- Usage:
to_md5
to_utf8.py
- Convert a text file to an UTF-8-encoded text. The output is printed to the screen.
- Usage:
to_utf8 input.txt
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>