aboutsummaryrefslogtreecommitdiff
path: root/bin/tl
blob: baa6fb2b096e074f31e5ff20459f9870ffbbda51 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
# Tag lines from files or stdin with a string prefix or suffix
self=tl

# Parse options out
while getopts 'p:s:' opt ; do
    case $opt in

        # Prefix
        p) pref=$OPTARG ;;

        # Suffix
        s) suff=$OPTARG ;;

        # Unknown option
        \?)
            printf >&2 '%s: Unknown option %s\n' \
                "$self" "$opt"
            exit 2
            ;;
    esac
done
shift "$((OPTIND-1))"

# Print each line as we read it, adding the tags
cat -- "${@:--}" |
while IFS= read -r line ; do
    printf '%s%s%s\n' "$pref" "$line" "$suff"
done