![]() |
|
|
google unix.com
|
|||||||
| Forums | Casino | Register | Forum Rules | Links | Albums | FAQ | Members List | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Using grep to extract line number | mskarica | Shell Programming and Scripting | 8 | 06-26-2008 02:47 AM |
| How to grep / zgrep to output ONLY the matching filename and line number? | vvaidyan | UNIX for Dummies Questions & Answers | 3 | 03-12-2008 04:33 PM |
| grep the string with the line number | salaathi | Shell Programming and Scripting | 4 | 12-04-2007 10:42 AM |
| Get Filename and Line Number using grep | ceemh3 | UNIX for Dummies Questions & Answers | 4 | 09-17-2007 10:35 AM |
| is there any why to get the number of line in grep result ? | umen | UNIX for Dummies Questions & Answers | 1 | 03-16-2006 08:56 AM |
![]() |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|||
|
Grep a number from a line in ksh
In file.name, I have a line that reads
$IDIR/imgen -usemonths -dropcheck -monitor -sizelimit 80000000 -interval 120 -volcal HSI How can I get the size limit, i.e. 80000000 out and pass it to a variable called SIZE? Thanks. I tried echo "grep sizelimit file.name" | sed -n -e 's/^.sizelimit\([0-9]*\) -interval.*$/\1/p' but it output nothing. |
| Sponsored Links |
|
|||
|
So close...
Code:
SIZE=`grep sizelimit myfile | sed 's/^.*sizelimit //' | awk '{print $1}'`
There are other options that involve parsing the line (either in awk or shell), like: Code:
SIZE=0
grep sizelimit myfile | while read s
do
set -- $s
while [ $# -gt 0 ]
do
case $1 in
-sizelimit) SIZE=$2; break;;
*) shift;;
esac
done
done
|
|
|||
|
Quote:
The first option works fine. Did you mean it works even if "-sizelimit 80000000" is moved somewhere else in the line too? |
|
|||
|
Quote:
What it actually does is chops everything from the start of the line up to and including the word sizelimit and the space after, and then takes the first word from the remainder (which is the value of sizelimit). |
|||
| Google The UNIX and Linux Forums |
![]() |
| Bookmarks |
| Tags |
| None |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|