diff help/help_diff.sh @ 8538:6973e76d95b2

In this situation it was easier to fix yours. I applied these 3 points (fixed locking echo, removed excessive cut to make script a bit faster and shortened grep) and changed copy mark from "x" to "" in order to use -z and -n tests. patch by GoTaR <priv0.onet.pl->gotar>
author arpi
date Mon, 23 Dec 2002 17:28:19 +0000
parents 32c7ca9359b1
children 450015fb59e6
line wrap: on
line diff
--- a/help/help_diff.sh	Mon Dec 23 16:04:52 2002 +0000
+++ b/help/help_diff.sh	Mon Dec 23 17:28:19 2002 +0000
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 
 # This script walks through the master (stdin) help/message file, and
 # prints (stdout) only those messages which are missing from the help
@@ -6,24 +6,23 @@
 #
 # Example: help_diff.sh help_mp-hu.h < help_mp-en.h > missing.h
 
-curr="x"
-
-while read -r line ; do
+curr=""
 
-if ( echo $line | cut -d ' ' -f 1 | grep '^#define' > /dev/null ); then
-    curr=`echo $line | cut -d ' ' -f 2`
-    if ( grep " $curr " $1 > /dev/null ); then
-	curr="x"
-    fi
-else
-    if test x"$line" = x; then
-	curr="x"
-    fi
-fi
+while read -r line; do
+	if echo -E "$line" | grep -q '^#define'; then
+		curr=`echo -E "$line" | cut -d ' ' -f 2`
+		if grep -q "^#define $curr " $1; then
+			curr=""
+		fi
+	else
+		if [ -z "$line" ]; then
+			curr=""
+		fi
+	fi
 
-if test $curr != "x" ; then
-    echo "$line"
-fi
-
+	if [ -n "$curr" ]; then
+		echo -E "$line"
+	fi
 done
 
+