about summary refs log tree commit diff
path: root/rnl.sh
blob: d9d70cd2549e130823b39e23ab4bf6cc7eeb711a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh
# rnl - remove final newlines

tr1='\012 '
tr2=' \012'
pat='$s/ *$/ /'

while getopts 0aso opt; do
	case "$opt" in
		0) tr1='\0 '; tr2=' \0';;
		a) pat='$s/ *$//';;
		s) pat='$s/ *$/ /';;
		o) pat='$s/ $//';;
		'?') exit 1;;
	esac
done

tr "$tr1" "$tr2" | sed "$pat" | tr "$tr2" "$tr1"