-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdoSed
More file actions
52 lines (43 loc) · 1.09 KB
/
doSed
File metadata and controls
52 lines (43 loc) · 1.09 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/sh
mode=$1
shift
sedfile=$1
shift
count=0
while [ "$1" != "" ]; do
files[$count]=$1
shift
let "count=$count+1"
done
function do_usage {
echo "doSed test/exe sedfile file"
if [ ! -z "$1" ]; then
echo " $1"
echo ""
fi
exit 0
}
if [ "$mode" != "test" ] && [ "$mode" != "exe" ]; then
do_usage "Unknown mode $mode"
fi
if [ "$sedfile" == "" ] || [ ! -e "$sedfile" ]; then
do_usage "sed file ($sedfile) not found"
fi
#if [ "$file" == "" ] || [ ! -e "$file" ]; then
# do_usage "file ($file) not found"
#fi
count2=0
while [ $count2 -lt $count ]; do
echo "Processing file :${files[$count2]}"
if [ $mode == "test" ]; then
echo "running in test mode on $file. < shows old lines, > shows new lines";
sed -f $sedfile ${files[$count2]} | diff ${files[$count2]} -
else
tmpFile="/tmp/sed.$$"
echo "running is exe mode on $file. "
sed -f $sedfile ${files[$count2]} > $tmpFile
mv $tmpFile ${files[$count2]}
fi
let "count2=$count2+1"
echo "--------------------------------------------"
done