abstracted chomper
authorChris Koeritz <fred@gruntose.com>
Wed, 15 Nov 2017 04:03:32 +0000 (23:03 -0500)
committerChris Koeritz <fred@gruntose.com>
Wed, 15 Nov 2017 04:03:32 +0000 (23:03 -0500)
scripts/core/functions.sh
scripts/system/common_sysadmin.sh

index f82e30c76036bee99d8d659492a3e6bd73aa4a07..8f35a5557a2698e5e6fca79f206ff40722abc338 100644 (file)
@@ -855,6 +855,65 @@ return 0
 
   ##############
 
+  # given a filename and a string to seek and a number of lines, then this
+  # function will remove the first occurrence of a line in the file that
+  # matches the string, and it will also axe the next N lines as specified.
+  function create_chomped_copy_of_file()
+  {
+    local filename="$1"; shift
+    local seeker="$1"; shift
+    local numlines=$1; shift
+
+echo into create_chomped_copy...
+var filename seeker numlines 
+
+    # make a backup first, oy.
+    \cp -f "$filename" "$filename.bkup-${RANDOM}" 
+    test_or_die "backing up file: $filename"
+
+    # make a temp file to write to before we move file into place in bind.
+    local new_version="/tmp/$(basename ${filename}).bkup-${RANDOM}" 
+    \rm -f "$new_version"
+    test_or_die "cleaning out new version of file from: $new_version"
+
+    local line
+    local skip_count=0
+    while read line; do
+      # don't bother looking at the lines if we're already in skip mode.
+      if [[ $skip_count == 0 ]]; then
+        # find the string they're seeking.
+        if [[ ! "$line" =~ .*${seeker}.* ]]; then
+          # no match.
+          echo "$line" >> "$new_version"
+        else
+          # a match!  start skipping.  we will delete this line and the next N lines.
+          ((skip_count++))
+echo first skip count is now $skip_count
+        fi
+      else
+        # we're already skipping.  let's keep going until we hit the limit.
+        ((skip_count++))
+echo ongoing skip count is now $skip_count
+        if (( $skip_count > $numlines )); then
+          echo "Done skipping, and back to writing output file."
+          skip_count=0
+        fi
+      fi
+    done < "$filename"
+
+#put the file back into place.
+echo file we created looks like this:
+filedump "$new_version"
+
+echo bailing
+exit 1
+
+    \mv "$new_version" "$filename"
+    test_or_die "moving the new version into place in: $filename"
+  }
+
+  ##############
+
   # NOTE: no more function definitions are allowed after this point.
 
   function function_sentinel()
index 4bd9859a531d2d070cd832b687866542917da245..f6467f19af97da9b319a57453cb3440d41b844e5 100644 (file)
@@ -58,66 +58,6 @@ ${domain_name}.      IN A    ${IP_ADDRESS}
   test_or_die "setting ownership on: $domain_file"
 }
 
-#hmmm: move this chomper to core!
-
-# given a filename and a string to seek and a number of lines, then this
-# function will remove the first occurrence of a line in the file that
-# matches the string, and it will also axe the next N lines as specified.
-function create_chomped_copy_of_file()
-{
-  local filename="$1"; shift
-  local seeker="$1"; shift
-  local numlines=$1; shift
-
-echo into create_chomped_copy...
-var filename seeker numlines 
-
-  # make a backup first, oy.
-  \cp -f "$filename" "$filename.bkup-${RANDOM}" 
-  test_or_die "backing up file: $filename"
-
-  # make a temp file to write to before we move file into place in bind.
-  local new_version="/tmp/$(basename ${filename}).bkup-${RANDOM}" 
-  \rm -f "$new_version"
-  test_or_die "cleaning out new version of file from: $new_version"
-
-  local line
-  local skip_count=0
-  while read line; do
-    # don't bother looking at the lines if we're already in skip mode.
-    if [[ $skip_count == 0 ]]; then
-      # find the string they're seeking.
-      if [[ ! "$line" =~ .*${seeker}.* ]]; then
-        # no match.
-        echo "$line" >> "$new_version"
-      else
-        # a match!  start skipping.  we will delete this line and the next N lines.
-        ((skip_count++))
-echo first skip count is now $skip_count
-      fi
-    else
-      # we're already skipping.  let's keep going until we hit the limit.
-      ((skip_count++))
-echo ongoing skip count is now $skip_count
-      if (( $skip_count > $numlines )); then
-        echo "Done skipping, and back to writing output file."
-        skip_count=0
-      fi
-    fi
-  done < "$filename"
-
-#put the file back into place.
-echo file we created looks like this:
-filedump "$new_version"
-
-echo bailing
-exit 1
-
-  \mv "$new_version" "$filename"
-  test_or_die "moving the new version into place in: $filename"
-
-}
-
 # takes a zone back out of the local conf file for bind
 function remove_zone_for_domain()
 {