#!/bin/bash # A simple script to update spec or dsc file # very, very simple. I am happy about patches which handles multiple files with different version numbers # # (C) 2014 martin.koegler@chello.at # (C) 2010 by Adrian Schröter # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # See http://www.gnu.org/licenses/gpl-2.0.html for full license text. # defaults REGEX= FILES="" while test $# -gt 0; do case $1 in *-regex) REGEX="$2" shift ;; *-file) FILES="$FILES ${2##*/}" shift ;; *-outdir) MYOUTDIR="$2" shift ;; *) echo Unknown parameter $1. echo 'Usage: regex_replace --regex $REGEX --file $FILE --outdir $OUT' exit 1 ;; esac shift done write_files () { if [ -z "$REGEX" ]; then echo "ERROR: no regular expresion is given via --regex parameter!" exit 1 fi if [ -z "$FILES" ]; then echo "ERROR: no file is given via --file parameter!" exit 1 fi if [ -z "$MYOUTDIR" ]; then echo "ERROR: no output directory is given via --outdir parameter!" exit 1 fi for i in $FILES; do FILE=`ls -1 $i 2>/dev/null` [ -e "$FILE" ] || continue sed -e "$REGEX" "$FILE" > "$MYOUTDIR/$FILE" || exit 1 if [ "${FILE#_service:}" != "$FILE" ]; then # we can remove service files, no need to store them twice rm -f "$FILE" fi done } write_files exit 0