How do i get numbers from a string?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How do i get numbers from a string?
# 8  
Old 07-18-2007
i put it as an argument when i call the script...
# 9  
Old 07-18-2007
Quote:
Originally Posted by vino
I have a feeling it all boils down to just

Code:
for x in lvol*
do
  echo /dev/$1/$x
  lvdisplay $x | grep MBytes
done

i get this:
Code:
lvdisplay: "lvol*": No such file or directory
Usage: lvdisplay
        [-v]
        [-k]
        LogicalVolumePath...

Smilie
# 10  
Old 07-18-2007
And for this ?

Code:
for x in *
do
      if [ "$x" = lvol* ]; then
        echo $x |  tr -d '[A-Za-z]' | read lvolnum
        echo /dev/$1/lvol${lvolnum} --> Where did you get $1 from ?
        lvdisplay lvol${lvolnum} | grep Mbytes
      fi
done

# 11  
Old 07-18-2007
Quote:
Originally Posted by vino
And for this ?

Code:
for x in *
do
      if [ "$x" = lvol* ]; then
        echo $x |  tr -d '[A-Za-z]' | read lvolnum
        echo /dev/$1/lvol${lvolnum} --> Where did you get $1 from ?
        lvdisplay lvol${lvolnum} | grep Mbytes
      fi
done

nothing...
he does not enter the "if"...
# 12  
Old 07-18-2007
Are you present in the path where the lvol files are present. I hope thats the reason why your are getting the error like

Code:
lvdisplay: "lvol*": No such file or directory

Or it should have been like

Code:
lvdisplay /dev/$1/lvol${lvolnum} | grep Mbytes

# 13  
Old 07-18-2007
Quote:
Originally Posted by eliraza6
i want to make a script that gets a VG name and outputs the size of it's lvols...

here is what i wrote but it doesn't work... Smilie

Code:
for x in *
    do
        if [ "echo $x" = "lvol*" ]; then
    echo $x |  tr -d '[A-Za-z]' | read lvolnum
    echo /dev/$1/lvol$lvolnum
    lvdisplay lvol${lvolnum} | grep Mbytes
        fi
done

can someone please help me?
thanx alot!
Basic question. What does not work ? You also mentioned the run does not enter the if loop. Can you show us the output of
ls *
or even
ls *lvol*
# 14  
Old 07-18-2007
lets start over...

this script works fine

Code:
#! /bin/ksh
cd /dev/$1
for x in *
    do
        echo $x |  tr -d '[A-Za-z]' | read lvolnum
    echo /dev/$1/lvol$lvolnum
        lvdisplay lvol${lvolnum} | grep Mbytes
done

the only problem is that the output apear twice because there is "lvol" directories and "rlvol" directories so he do the "lvdisplay" for both of them...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sort only numbers within a string

Hi, I am having contents in a file like below, cat testfile rpool/swap rpool/swap14 rpool/swap2 rpool/swap3 I want to sort the above contents like, rpool/swap rpool/swap2 rpool/swap3 rpool/swap14 I have tried in this way, (7 Replies)
Discussion started by: Sumanthsv
7 Replies

2. Shell Programming and Scripting

Adding numbers in a string

I am writing a bash script on ubuntu11.10 I have some string having numbers and letter and want to add all the numbers together For example 1s2d23f I want to perform 1 + 2 + 23 and store it in a variable (3 Replies)
Discussion started by: kristinu
3 Replies

3. UNIX for Dummies Questions & Answers

Extracting numbers from a String

Hi all, I'm a new programmer to shell script... and I have no idea how to use substring. I want to extract the numbers from the following string and place it into a variable: "170 unique conformations found" The numbers can be more than three digits depending on the case. I just want to... (10 Replies)
Discussion started by: ah7391
10 Replies

4. Shell Programming and Scripting

Extracting numbers from a string

Hello Everyone, i have quick question. I have file names like: bin_map300.asc and I would like to extract grid300. My approach so far: name=bin_map300.asc echo ${name%%.*} echo ${name##*_} I am stuck combining the two. Any help would be appreciated. (3 Replies)
Discussion started by: creamcheese
3 Replies

5. Shell Programming and Scripting

Concatenating string with numbers

Hi, I want to display the string value with number value. I dont know how to display. Can anyone help me. This is my code export A=${file_name} echo $a $b $sum | awk '{ printf "%011.f,%014.f,%014.f\n", $1,$2,$3}' >> ${MRR_OUTPUT} the out put shold be ${A}, $a, $b filename,... (2 Replies)
Discussion started by: easterraj
2 Replies

6. UNIX for Dummies Questions & Answers

Breaking a string into four different numbers

I'm having trouble breaking a string into four different numbers. What I'm starting out with is foo='1218141 1441 1664 122222' and what I want to have is a=1218141 b=1441 c=1664 d=122222 I'm tried using some pattern matching to break the string up into these four different... (7 Replies)
Discussion started by: Azumandious
7 Replies

7. Shell Programming and Scripting

get partial numbers from a string

Hi Everyone, I have: $val="QQ3_1899_CD4". The output will be: 1899. I did $val =~ /(\d+)/g; the output is 318994, then i use substr to get those 1899. This is not efficient. Is any simple way, like just one line can do? Thanks (1 Reply)
Discussion started by: jimmy_y
1 Replies

8. UNIX for Dummies Questions & Answers

Using Floating Numbers in String

Dear Unix Gurus, I have a list of files that I want to loop over....for example: sl40_z11.70.txt sl41_z11.40.txt sl42_z11.10.txt sl43_z10.80.txt using the script #!/bin/sh # echo -n "....enter first Z-coordinate position....."; read zpos q="scale=3; $zpos" p=0.3 #... (7 Replies)
Discussion started by: tintin72
7 Replies

9. Shell Programming and Scripting

How to sort a string with numbers

Hi, I need help to sort a file contents. I am using sort -r option to basically reverse the comparison in descending order. However, i found out that my file is not sorted according, can anyone please help. My data is something like:- Hello world 20.982342864 343 19.234355545 222... (5 Replies)
Discussion started by: ahjiefreak
5 Replies

10. Shell Programming and Scripting

to find numbers in a string

I writing my script and got stuck in this function. Can someone help me? I need to extract out the numbers inside a string. Ex: INPUT -> OUTPUT abcdef123 -> 123 abc123def -> 123 123abcdef -> 123 a123bc45d -> 123 45 abcdefghi -> -1 Thank you! (12 Replies)
Discussion started by: fongthai
12 Replies
Login or Register to Ask a Question