#!/bin/sh # Tag lines from files or stdin with a string prefix or suffix. # Parse options out, give help if necessary while getopts 'p:s:' opt ; do case $opt in p) pref=$OPTARG ;; s) suff=$OPTARG ;; \?) usage >&2 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