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.
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins

- My 10 UNIX Command Line Mistakes
- 25 PHP Security Best Practices For Sys Admins
- The Novice Guide To Buying A Linux Laptop
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
Facebook it - Tweet it - Print it -
We're here to help you make the most of sysadmin work. So, subscribe!

{ 2 comments… read them below or add one }
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.
hi,
it can be written in other ways
$ echo $IP | cut -f1-3 -d”.”
this works fine…