Skip to content

Instantly share code, notes, and snippets.

@rjeczalik
Last active August 29, 2015 14:03
Show Gist options
  • Save rjeczalik/25cf587bebf28f226884 to your computer and use it in GitHub Desktop.
Save rjeczalik/25cf587bebf28f226884 to your computer and use it in GitHub Desktop.
Misc one-liners.

Guessing import path for Go executables

~ $ go tool objdump -s main.main "$(which godoc)" \
    | grep -E '^TEXT main.main' | cut -d' ' -f3 \
    | sed -e 's/.*\/src\/\(.*\)\/[^\/]*/\1/'
code.google.com/p/go.tools/cmd/godoc

List all github.com packages the executable uses

~ $ strings xflicstat | perl -ne '/.*github.com\/(.*\/.*)\/[^\/]+/ && print "$1\n"' \
    | sort | uniq
BurntSushi/toml
cihub/seelog
coopernurse/gorp
go-sql-driver/mysql
go-sql-driver/mysql/wiki
sigu-399/gojsonpointer
sigu-399/gojsonreference
sigu-399/gojsonschema
x-formation/rpc
x-formation/rpc/json

Resize and optimize images in parallel

~ $ /bin/ls *.jpg | xargs -P$(nproc) -i -- sh -c \
    'convert -strip -interlace Plane -gaussian-blur 0.05 -resize 25% "{}" "min-{}" && \
     echo min-{}'

Update badges URLS to shields.io

badgefix() {
	badges=(
		's|https://travis-ci.org/\([a-z]*\)/\([a-z]*\).png?branch=\([a-z]*\)|https://img.shields.io/travis/\1/\2/\3.svg|g'
		's|(https://ci.appveyor.com/api/projects/status/.*)](https://ci.appveyor.com/project/\([a-z]*\)/\([a-z0-9\-]*\)|(https://img.shields.io/appveyor/ci/\1/\2.svg)](https://ci.appveyor.com/project/\1/\2|g'
		's|https://coveralls.io/repos/\([a-z]*\)/\([a-z]*\)/badge.png?branch=\([a-z]*\)|https://img.shields.io/coveralls/\1/\2/\3.svg|g'
	)

	for i in ${!badges[@]}; do
		sed -i -e "${badges[i]}" README.md
	done
}

Go - install missing imports when ... does not work because of some broken package in $GOPATH

missing() {
	go install -a ${1:-...} 2>&1 | sed -n 's/.*cannot find package "\(.*\)" in any of/\1/p' |
		tr -d : | xargs go get -u
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment