Created
August 11, 2021 02:06
-
-
Save fny/a13e5e75e083aaa427454fef85916220 to your computer and use it in GitHub Desktop.
bash-snippets.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function concat_with_header() { | |
# Quoted suffix to pattern match for concatenation (e.g. '*.csv') | |
local suffix="${1}" | |
# Name of the output file | |
local output="${2:-combined.out}" | |
# Number of lines to use for the header | |
local header_length="${3:-1}" | |
# Grab the header from the first file | |
local header=`echo -e "$(ls -b *$suffix | head -n$header_length)"` | |
head -1 $header_file > $output; tail -n +"`expr $header_length + 1`" -q *$suffix >> $output | |
} | |
# Spin up an HTTP server in Python. | |
# - port: the port to start the server on | |
function pyserver() { | |
local port="${1:-8000}"; | |
sleep 1 && open "http://localhost:${port}/" & | |
# Set the default Content-Type to `text/plain` instead of `application/octet-stream` | |
# And serve everything as UTF-8 (although not technically correct, this doesn’t break anything for binary files) | |
python -c $'import SimpleHTTPServer;\nmap = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map;\nmap[""] = "text/plain";\nfor key, value in map.items():\n\tmap[key] = value + ";charset=UTF-8";\nSimpleHTTPServer.test();' "$port"; | |
} | |
# | |
# Make `ls` pretty. | |
# | |
# Detect which `ls` flavor is in use | |
if ls --color > /dev/null 2>&1; then # GNU `ls` | |
colorflag="--color" | |
export LS_COLORS='no=00:fi=00:di=01;31:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:' | |
else # macOS `ls` | |
colorflag="-G" | |
export LSCOLORS='BxBxhxDxfxhxhxhxhxcxcx' | |
fi | |
alias ls="command ls ${colorflag}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment