Skip to content

raum01/Bash-Utils

 
 

Repository files navigation

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).
  • 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 in cookies.txt. New! It also exports session cookies from Firefox's recovery.js file. The exported cookies are saved to session_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

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 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

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>

About

Miscellaneous small utils, mainly for the Bash shell.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.9%
  • Perl 1.4%
  • Shell 0.4%
  • Nim 0.1%
  • Java 0.1%
  • Go 0.1%