~dricottone/my-utils

ref: 86e36bedac92f051a285f01385f38446a71db9a6 my-utils/debom -rwxr-xr-x 596 bytes
86e36bedDominic Ricottone Small fixes recommended by shellcheck 5 years ago
                                                                                
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
30
31
32
33
34
35
36
37
38
39
#!/bin/bash

# debom
# =====
# Usage: debom TARGET [OUTPUT]
#
# Remove byte order mark (BOM) from a target file, saving to a new file

help_msg() {
  cat <<-EOF
	Remove BOM from a target file, saving to a new file
	Usage: debom TARGET [OUTPUT]
	Options:
	 -h, --help: print this message
	EOF
  exit 1
}

err_msg() {
  (>&2 echo "$1")
  exit 1
}

for i in "$@"; do
  case $i in
    -h|--help) help_msg;;
  esac
done

if [ $# -lt 1 ]; then
  err_msg "Usage: debom TARGET [OUTPUT]"
elif [[ $# -lt 2 ]]; then
  OUTFILE="${1}.new"
else
  OUTFILE="$2"
fi

sed '1s/^\xEF\xBB\xBF//' < "$1" > "$OUTFILE"