parent
96a9bed118
commit
c8249591fd
26
tac.sh
26
tac.sh
|
@ -1,26 +0,0 @@
|
|||
#!/bin/sh
|
||||
usage() {
|
||||
echo 'usage: tac [-b] [-s separator] [file ...]' >&2
|
||||
exit 64
|
||||
}
|
||||
bflag=
|
||||
rs='\n'
|
||||
while getopts bs: opt; do
|
||||
case "$opt" in
|
||||
b) bflag=1;;
|
||||
s) rs="$OPTARG";;
|
||||
*) usage;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND - 1))
|
||||
rs="$(printf %s "$rs" | sed 's/[][)(}{.+?*^$]/\\&/g')"
|
||||
awk -vRS="$rs" -vORS="$rs" -vb="$bflag" '{
|
||||
a[NR] = $0
|
||||
} END {
|
||||
if (b)
|
||||
for (i = NR; i > 0; i--)
|
||||
printf "%s%s", ORS, a[i]
|
||||
else
|
||||
for (i = NR; i > 0; i--)
|
||||
printf "%s%s", a[i], ORS
|
||||
}' "$@"
|
Loading…
Reference in New Issue