≡ Menu

Capturing or cutting few characters of a string

Shell scripting is part of my day today life job. Sometime you just need to cut or grab first few characters of a string. For example, consider following string I am using in a script:

IP=”192.168.1.5”
CONF=”something”

I just need to grab network id i.e. 192.168.1 of a string $IP

I can write out

$ test=${IP:0:9}
$ echo $test

It took me more than an hour to find out solution to this tiny problem. BASH man page Parameter Expansion has lots of information. Make sure you read it.

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

Comments on this entry are closed.

  • Mayavi July 4, 2006, 7:18 pm

    dude,
    you need to use either CUT or some other mechanism.
    since your script will need tweaking to handle Network IP like
    192.168.128.1
    use AWK/GAWK/CUT to split the network address into four parts using “.” as operator.
    and then concatenate and use first three.

  • Raj Mishra September 11, 2007, 3:46 am

    hi,
    it can be written in other ways

    $ echo $IP | cut -f1-3 -d”.”

    this works fine…