Useful Bash One-liners
I have a file in my home folder that contains Bash oneliners that I use regularly (I'm a huge nerd, naturally). I found most of them elsewhere online; I wrote very few of these from scratch.
Download a page and all linked pages/documents:
Download $PAGE
and all linked pages/documents, to a depth of $NUM
:
$ wget -r "$NUM" "$PAGE"
e.g.
$ wget -r 1 \
https://courses.cs.washington.edu/courses/cse455/14au/notes/
If you only want PDF files (e.g. if you're downloading course notes), then you
can add the flag ---accept "*.pdf"
Taken from Stack Overflow.
Recursively unrar files
You can replace unrar e
with any other command as well (e.g. unzip
).
$ find ./ -name '*.rar' -execdir unrar e {} \;
As a data scientist, I often get a dump of data from a client. This command lets me process them all at once.
Turn white backgrounds transparent
I use this ALL THE TIME when I'm giving talks (particularly when I'm teaching). I found it on the Imagemagick forums.
$ convert image.gif -transparent white result.gif (or use result.png)
Alternately, if the image has an off-white background:
$ convert image.gif -fuzz XX% -transparent white result.gif
where the smaller the %, the closer to true white or conversely, the larger the %, the more variation from white is allowed to become transparent.
Diff contents of two folders
Checks which files are different between the folders dir1
and dir2
. I've
used this to track down bugs when I'm installing our software on client sites
to make sure that their data is exactly the same as my copy of it.
$ diff -qr dir1 dir2
You can also use some sort of checksum by zipping up both folders and comparing the results, e.g. with
$ md5 dir1.zip
$ md5 dir2.zip