Skip to content

Latest commit

 

History

History
305 lines (154 loc) · 5.49 KB

README.md

File metadata and controls

305 lines (154 loc) · 5.49 KB

Shell scripts

Convenient shell scripts for everyday use, written in bash, perl, awk, python.

All scripts print a helpful usage message when used with -h or --help

The ./install.sh script will symlink these scripts in your ~/bin directory. It will not overwrite any existing files.

Bash

  • bash/bak.sh

    Move or copy files and directories with .bak or .YYYYMMDD suffix

  • bash/bell.sh

    Sound the system bell

  • bash/capitalize.sh

    Capitalize words in filenames

  • bash/col.sh

    Extract the n-th column of stdin

  • bash/cp-replace.sh

    Replace regex patterns in filenames

  • bash/csv2csv.sh

    Convert CSV to CSV using specified locale

  • bash/demoronizer.sh

    Convert non-ascii characters to ascii (rough) equivalents

  • bash/dos2unix.sh

    Remove carriage return from files

  • bash/ebook-convert.sh

    TODO

  • bash/eggtimer.sh

    Countdown from specified minutes and seconds

  • bash/extract-audio-from-video.sh

    Extract audio content from video files

  • bash/extract-icon-from-platter.sh

    Extract an icon image from a platter of icon images

  • bash/find-recent.sh

    Find and sort files by atime/ctime/mtime

  • bash/flac2mp3.sh

    Convert FLAC files to MP3 using flac and lame

  • bash/gen-indexhtml.sh

    Generate index.html from files and directory trees

  • bash/get-checklists.sh

    Get checklists from Code Complete

  • bash/git.sh

    Perform repository operations on a tree of Git repositories

  • bash/icons2dim.sh

    Resize icon images to have specified width and height

  • bash/icons2square.sh

    Pad images with transparency to have equal width and height

  • bash/iconv-filenames.sh

    Convert the encoding of filenames (if possible)

  • bash/id3tag.sh

    Set id3 v2 tag on mp3 files in the current directory and rename nicely

  • bash/ipod2local.sh

    Import mp3 files from ipod to hard disk

  • bash/iptables-simple.sh

    Configure a very simple firewall using iptables

  • bash/jar-manifest-classpath.sh

    Print the classpath entries of the manifest of JAR files

  • bash/java-io-tmpdir.sh

    Print the value of java.io.tmpdir

  • bash/lowercase.sh

    Rename files to all lowercase letters

  • bash/m4a2mp3.sh

    Convert M4A files to MP3 using faad and bladeenc

  • bash/mv-many.sh

    Rename files and directories by editing their names in vim

  • bash/mv-replace.sh

    Replace regex patterns in filenames

  • bash/my-external-ip.sh

    Find my external IP address

  • bash/my-ip.sh

    Print my local IP address

  • bash/paths.sh

    Transform the display of path strings

  • bash/pdf-pages.sh

    Cut out a range of pages from PDF files

  • bash/pwgen.sh

    Generate random alphanumeric passwords

  • bash/quote.sh

    Enclose each line of input within quotes

  • bash/rip-audiocd.sh

    Copy titles in an audio CD to wav files in the specified directory

  • bash/rip-dvd.sh

    Rip a DVD movie into a high quality DIVX file

  • bash/save-webpage.sh

    Save a webpage and all the files necessary to display properly

  • bash/screenshot.sh

    Take a screenshot of the entire screen or a window

  • bash/ssh-authorizeme.sh

    Add a public key to the authorized_keys file on a remote server

  • bash/ssh-tunnel-keeper.sh

    Create an ssh rtunnel and try to keep it alive as long as possible

  • bash/sys-vitalbackup-Linux.sh

    Backup most vital system files and most relevant system information

  • bash/template-html.sh

    Create a standards compliant HTML skeleton

  • bash/template-perl.sh

    Generate a Perl script template with a simple argument parser

  • bash/template-sh.sh

    Generate a Bash script template with a simple argument parser

  • bash/unrar.sh

    Properly unrar files in directories containing spaces in their names

  • bash/uppercase.sh

    Rename files to all uppercase letters

  • bash/wav2mp3.sh

    Convert WAV files to MP3 using bladeenc or lame

  • bash/wma2mp3.sh

    Convert WAV files to MP3 using mplayer, and bladeenc or lame

  • bash/words.sh

    Find words in specified files or directories

  • bash/wp-config-to-my-cnf.sh

    Create a MySQL my.cnf file from a WordPress configuration file

Perl

  • perl/atime.pl

    Print access time of specified files

  • perl/base64.pl

    Encode (= default) or decode Base64

  • perl/pie.pl

    Apply expression on the content of files, for example s/foo/bar/g

Awk

  • awk/avg.awk

    Compute the average of numeric values on stdin

  • awk/column.awk

    Columnate lists, imitating the BSD column -t command

  • awk/lengths.awk

    Compute and print the lengths of lines on stdin

  • awk/max.awk

    Compute the minimum of numeric values on stdin

  • awk/min.awk

    Compute the minimum of numeric values on stdin

  • awk/sum.awk

    Compute the sum of numeric values on stdin

  • awk/var.awk

    Compute the variance of numeric values on stdin

Python

  • python/fakedate.py

    Print the current date but with specified values overridden

  • python/free.py

    Display amount of free and used memory in the system

  • python/iconv.py

    Convert the character encoding of files

  • python/paste.py

    Merge corresponding or subsequent lines of files

  • python/pp.py

    Pretty-print JSON

  • python/pwgen.py

    Generate random passwords

  • python/renum.py

    Add numeric prefix to filenames to match the order specified in a list file

  • python/seq.py

    Print sequences of numbers, imitating the seq tool

  • python/titlecase.py

    Rename files to "titlecased" and "sanitized"

  • python/transpose.py

    Convert columns to lines or lines to columns

  • python/xpath.py

    Test on an XML file an XPATH expression