committed by
							
								
								GitHub
							
						
					
				
				 1 changed files with 66 additions and 0 deletions
			
			
		@ -0,0 +1,66 @@ | 
				
			|||||
 | 
					#!/bin/bash | 
				
			||||
 | 
					############################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					# File name:        findAndReplace.sh | 
				
			||||
 | 
					# Author:           Hannes Bohnengel | 
				
			||||
 | 
					# Last modified:    04/04/2018 | 
				
			||||
 | 
					# Required pkgs:    sed | 
				
			||||
 | 
					# CLI usage:        findAndReplace.sh  | 
				
			||||
 | 
					# Description:      This shell script eases the use of sed  | 
				
			||||
 | 
					#                   to find and replace strings in text files. | 
				
			||||
 | 
					#                   http://clubmate.fi/replace-strings-in-files-with-the-sed-bash-command/ | 
				
			||||
 | 
					#                    | 
				
			||||
 | 
					############################################################################################ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					############# | 
				
			||||
 | 
					# Variables | 
				
			||||
 | 
					############# | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					ARGC=3 | 
				
			||||
 | 
					INPUT=$1 | 
				
			||||
 | 
					OUTPUT=${INPUT%.*} | 
				
			||||
 | 
					OUTPUT="${OUTPUT}-replaced.txt" | 
				
			||||
 | 
					NAME=$2 | 
				
			||||
 | 
					NEW_NAME=$3 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					############# | 
				
			||||
 | 
					# Processing | 
				
			||||
 | 
					############# | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					# Check if the expected number of parameters is given. | 
				
			||||
 | 
					# If not exit with error. | 
				
			||||
 | 
					if [ $# != $ARGC ] | 
				
			||||
 | 
					    then | 
				
			||||
 | 
					    echo "Error: Please provide the correct arguments!" | 
				
			||||
 | 
					    echo "Correct usage is:" | 
				
			||||
 | 
					    echo "./findAndReplace.sh [inputFile] [nameToBeReplaced] [pseudonym]" | 
				
			||||
 | 
					    exit 1; | 
				
			||||
 | 
					fi | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					# Printing the status | 
				
			||||
 | 
					echo -e "=======================================================================\n" | 
				
			||||
 | 
					echo "Input file:  ${INPUT}" | 
				
			||||
 | 
					echo "Output file: ${OUTPUT}" | 
				
			||||
 | 
					echo "" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					# Do the replacement (note the double quotes) | 
				
			||||
 | 
					echo "Replacing \"${NAME}\" with \"${NEW_NAME}\"" | 
				
			||||
 | 
					sed "s/${NAME}/${NEW_NAME}/g" $INPUT > $OUTPUT | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					# Check if sed was executed successfully | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					if [ $? != 0 ] | 
				
			||||
 | 
					    then | 
				
			||||
 | 
					        echo "Failed!" | 
				
			||||
 | 
					        echo -e "\n=======================================================================" | 
				
			||||
 | 
					        exit 1 | 
				
			||||
 | 
					    else | 
				
			||||
 | 
					        # Exit with success' | 
				
			||||
 | 
					        echo "Success!" | 
				
			||||
 | 
					        echo -e "\n=======================================================================" | 
				
			||||
 | 
					        exit 0 | 
				
			||||
 | 
					fi | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					# END OF FILE | 
				
			||||
 | 
					
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue