From: Mukund Sivaraman Date: Mon, 10 Jun 2013 09:53:51 +0000 (+0530) Subject: [2968] Document the sed command X-Git-Tag: bind10-1.2.0beta1-release~418^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8b82620d477ff1eac478407debdef85286f34f79;p=thirdparty%2Fkea.git [2968] Document the sed command --- diff --git a/src/bin/dbutil/tests/dbutil_test.sh.in b/src/bin/dbutil/tests/dbutil_test.sh.in index 6611b4ab88..e11c01b2a1 100755 --- a/src/bin/dbutil/tests/dbutil_test.sh.in +++ b/src/bin/dbutil/tests/dbutil_test.sh.in @@ -140,6 +140,21 @@ get_schema() { db1=@abs_builddir@/dbutil_test_schema_$$ copy_file $1 $db1 + # The purpose of the following sed command is to join multi-line SQL + # statements to form single-line SQL statements. + # + # The sed command is explained as follows: + # ':a' creates a new label "a" + # 'N' appends the next line to the pattern space + # '$!ba' if it's not the last line, branch to "a" + # + # The above makes sed loop over the entire sqlite3 output. At this + # point, the pattern space contain all lines in the sqlite3 output. + # + # 's/,[\ ]*\n/, /g' then substitutes lines trailing with comma + # followed by zero or more spaces and the newline character, with + # just a comma and a single space. + db_schema=`sqlite3 $db1 '.schema' | \ sed -e ':a' -e 'N' -e '$!ba' -e 's/,[\ ]*\n/, /g' | \ sort | \