![]() |
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | 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 |
| Help Required: Command to find IP address and command executed of a user | loggedout | Security | 2 | 08-06-2008 09:12 PM |
| how to? launch command with string of command line options | TinCanFury | Shell Programming and Scripting | 5 | 04-28-2008 07:06 PM |
| inconsistent ls command display at the command prompt & running as a cron job | rajranibl | SuSE | 5 | 07-30-2007 09:26 AM |
| How to use more than one MPE command STREAM with Unix command in a single shell? | bosskr | HP-UX | 1 | 10-16-2006 05:16 PM |
| How to use more than one MPE command STREAM with Unix command in a single shell? | bosskr | Shell Programming and Scripting | 0 | 09-19-2006 10:44 PM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
sed command
Hi everyone,
I am trying to extract two numbers from a string using sed command, does anyone have any idea how to do this for instance: the string is sadaskjer4x5sdfrsdf and i would like to search for 4x5 and and extract 4 and 5 and save them into two variables. |
|
||||
|
Code:
set -- `echo "$string" | sed -e 's/[^0-9][^0-9]*/ /g'` echo First value is $1 echo Second value is $2 The set -- `command` idiom is rather obscure, but it's nevertheless a standard technique for splitting whitespace-separated tokens into the shell's positional variables. After the set, the first token in the output from command will be in $1, the second in $2, etc, and $# will tell you how many there were, just like when a script is invoked with command-line parameters. If this is too weird for you then try the following. Code:
variable1=`echo "$string" | sed -e 's/^[^0-9]*\([0-9][0-9]*\).*/\1/'` variable2=`echo "$string" | sed -e 's/.*\([0-9][0-9]*\)[^0-9]*$/\1/'` The first will grab the first number in the string, and the second, the last. If there are more, they will be lost. |
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|