other tips for scripting
remove all carriage returns
cat file | tr -d '\n'
url encoding and decoding
echo 'http://example.com' | nkf -WwMQ | sed 's/=$//g' | tr = % | tr -d '\n'
echo http%3A%2F%2Fexample%2Ecom | nkf -w --url-input
handle files which name may include spaces
find dirname -print0 | xargs -0 ls
convert character code from sjis to UTF8
iconv -f SJIS -t UTF8 oldfile > newfile
set positional parameter
$ set -a -b foo bar
$ echo $# $@
2 foo bar
$ set -- -a -b foo bar
$ echo $# $@
4 -a -b foo bar
w | awk '$1~/'$(whoami)'/{print}' | while read line; do
set ${line}; echo USER:$1 TTY:$2 FROM:$3 LOGIN@:$4 IDLE:$5 JCPU:$6 PCPU:$7 WHAT:${*:8}
done
color text
esc=$(printf '\033')
color="${esc}[36m" # cyan
bold="${esc}[1m"
underline="${esc}[4m"
colorbold="${esc}[1;36m"
colorunderline="${esc}[4;36m"
reset="${esc}[0m"
echo "${color}color text${reset}"
echo "${bold}bold text${reset}"
echo "${underline}underline text${reset}"
echo "${colorbold}color bold text${reset}"
echo "${colorunderline}color underline text${reset}"
echo normal text
| color | foreground | background |
|---|---|---|
| Black | 30m | 40m |
| Red | 31m | 41m |
| Green | 32m | 42m |
| Yellow | 33m | 43m |
| Blue | 34m | 44m |
| Purple | 35m | 45m |
| Cyan | 36m | 46m |
| White | 37m | 47m |