This is an old revision of the document!


Short snippets

These short bash commands or code snippets have proven useful. I will try to collect them here, and maybe freeze some of them into a proper .bashrc (and the relevant equivalent on Windows). Alternatively, I could bundle related snippets into blog posts. Or I finally start one of those .dotfiles repositories. But then, I don't want to over-engineer my settings handling. Let's see where this goes.

Convert pictures to lower resolution in subfolder

Using ImageMagick (version 7), this is a handy one-liner, ready to be integrated into an only slightly longer script, moving the result to a fixed, desired output location:

Bash

mkdir export && magick mogrify -resize 3000x3000 -quality 80 -path export *.jpg

PowerShell

mkdir (get-item $PWD).Name; magick mogrify -resize 3000x3000 -quality 80 -path (get-item $PWD).Name *.jpg

Git aliases

Heavy-branching-capable lg command. Not as commonly used ls short (no graph) and ll long (file stats) forms. la is nice in that it lists all aliases. Saying git dc instead of git diff –cached for a commit preview is very nice. I hardly remember the git d instead of git diff, though. But then, typing that out does not hurt too much. Newcomer: lb lists all local branches, together with its latest commit. It's designed to look similar to the output of lg. I might extend it to output remotes in red; it already can list them by calling git lb refs/remotes.

[alias]
    lg = log --pretty=tformat:'%C(auto)%h %C(dim white)%cd %Creset%<(50,trunc)%s %C(bold blue)%aN%Creset%C(auto)%w(0,0,7)%+d%Creset' --decorate --graph --abbrev-commit --date=short
    ls = log --pretty=format:'%C(auto)%h %s %C(bold blue)%aN%C(auto)%d%Creset' --decorate
    ll = log --pretty=format:'%C(auto)%h %C(dim white)%cd %Creset%s %C(bold blue)%aN%C(auto)%w(0,0,7)%+d%Creset' --decorate --name-status
    d = diff
    dc = diff --cached
    lb = for-each-ref --format='%(align:50,left)%(color:bold green)%(refname:short)%(color:reset)%(end)%0a  %(color:dim green)%(objectname:short)%(color:reset) %(color:dim cyan)%(authordate:short)%(color:reset) %(color:cyan)%(authorname)%(color:reset) %(subject)%0a' --sort=-authordate refs/heads/
    la = "!git config -l | grep "^alias" | cut -c 7-"
  • snippets.1520950428.txt.gz
  • Last modified: 2018/03/13 14:13
  • by ojdo