Skip to content

bash function to search and replace in all files with special extension recursively

Pretty much, the code is below. It is a part of my function collection for the bash.

####

Replaces a string in all files in given path and below

taken from: http://www.cyberciti.biz/faq/unix-linux-replace-string-words-in-many-files/

taken from: http://stackoverflow.com/questions/4437901/find-and-replace-string-in-a-file

taken from: http://stackoverflow.com/questions/7450324/how-do-i-replace-a-string-with-another-string-in-all-files-below-my-current-dir

#

@author stev leibelt artodeto@arcor.de

@since 2013-7-30

#

function netbazzlinereplacestringin_files () { if [[ $# -lt 3 ]]; then echo 'invalid number of arguments provided' echo 'command search replace fileextension [path]' return 1 fi

if [[ $# -eq 4 ]]; then
    find "$4" -name "*.$3" -type f -exec sed -i 's/'"$1"'/'"$2"'/g' {} \;
else
    find . -name "*.$3" -type f -exec sed -i 's/'"$1"'/'"$2"'/g' {} \;
fi

}

Translate to de es fr it pt ja

bash function to sync to and from a remote host by using rsync and ssh

I quickly created two bash functions to use rsync and ssh for syncing directories from the local host to a remote host and vice versa.

The two methods are available on my shell function repository. The two methods are called net_bazzline_sync_from_host and net_bazzline_sync_to_host. Enjoy it :-).

####

Uses rsync with ssh to copy data from remote to local host

#

@param string $1 - remote user

@param string $2 - remote host

@param string $3 - source path on remote host

@param string $4 - destination path on local host

#

@author stev leibelt artodeto@arcor.de

@since 2013-07-05

#

function netbazzlinesyncfromhost () { if [[ $# -eq 4 ]]; then USER="$1" HOST="$2" SOURCE="$3" DESTINATION="$4" else echo 'invalid number of variables provided' echo 'command user host source destination' fi

rsync -avz -e ssh [email protected]$HOST:$SOURCE $DESTINATION

}

#

Uses rsync with ssh to copy data from local to remote host

#

@param string $1 - remote user

@param string $2 - remote host

@param string $3 - source path on local host

@param string $4 - destination path on remote host

#

@author stev leibelt artodeto@arcor.de

@since 2013-07-05

function netbazzlinesynctohost () { if [[ $# -eq 4 ]]; then USER="$1" HOST="$2" SOURCE="$3" DESTINATION="$4" else echo 'invalid number of variables provided' echo 'command user host source destination' fi

rsync -avz -e ssh $SOURCE [email protected]$HOST:$DESTINATION

}

Translate to de es fr it pt ja