Replace Text In Variables & Single/Multiple-Files In UNIX

Replace Text In Variables & Single/Multiple-Files In UNIX

Friday, July 18, 2014

5:38 PM

  • Shell Script is fun. I love it when I know which commands to use. There are almost thousands of

    Here is a simple trick to Replace Text and Variables in Files in UNIX. We will use command sed – it is very useful to find and replace text in single or multiple files.

    Replace Text in Single File

    Replacing hello with hello_world in a single file.

    sed -i ‘s/hello/hello_world/g’ somefile.txt

    Check the arguments

    • -i = edit the file “in-place” – sed will directly modify the file if it finds anything to replace
    • s = substitute the following text
    • hello = what you want to substitute
    • hello_world = what you want to replace
    • g = global, match all occurrences in the line

    Replace Text in Multiple Files

    Following command will replace hello with hello_world in multiple files in one go.

    sed -i ‘s/hello/hello_world/g’  *.txt

    Replace Value of Variable

    I had a requirement in shell script to replace value of a variable and use it somewhere. For example: Say variable $path has value “root/user/home” and I need to replace “/” with “-” so that the value looks like “root-user-home”.

    ${variable//search/replace}

    • variable – Is name of the variable you want to replace value.
    • search – String in variable you want to replace.
    • replace – String you want to replace with.

 

Created with Microsoft OneNote 2013.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s