From 1931e2396ea3cd3268430062a8f1b6276d11dbaa Mon Sep 17 00:00:00 2001 From: arpi Date: Mon, 23 Dec 2002 17:28:19 +0000 Subject: [PATCH] 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 gotar> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8539 b3059339-0415-0410-9bf9-f77b7e298cf2 --- help/help_diff.sh | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/help/help_diff.sh b/help/help_diff.sh index 165e573cdb..b8a021137b 100755 --- a/help/help_diff.sh +++ b/help/help_diff.sh @@ -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" +curr="" -while read -r line ; do - -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 - -if test $curr != "x" ; then - echo "$line" -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 [ -n "$curr" ]; then + echo -E "$line" + fi done +