blob: 9f4e800aaf068321418866bc9d5a940977637459 (
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
|
# Convert UNIX line endings to DOS ones
# Check arguments
if [ "$#" -eq 0 ] ; then
printf >&2 'u2d: Need a filename\n'
exit 2
fi
# Put a carriage return into a variable for convenience
r=$(printf '\r')
# Iterate over arguments and apply the same ed(1) script to each of them
for fn ; do
# Note the heredoc WORD is intentionally unquoted because we want to expand
# $r within it to get a literal carriage return; the escape characters
# prescribed for ed(1) by POSIX are very limited
ed -s -- "$fn" <<EOF || ex=1
g/[^$r]\$/ s/\$/$r/
g/^\$/ s/\$/$r/
w
EOF
done
# If any of the ed(1) commands failed, we should exit with 1
exit "${ex:-0}"
|