blob: 505b3d04df3376b40c926553379acb3342a2cd32 (
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
|
#!/bin/sh
# 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}"
|