Shell script to read file into variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell script to read file into variable
# 1  
Old 03-19-2008
Shell script to read file into variable

the script i am trying to write will allow my server to give itself an ip address.

So far i am up to the following but i'm stuck.

tracert -m 1 > traceroute.txt

[Outputs]
1 routername (ipaddr) 2.094 ms 1.789 ms 1.243 ms

i want to get ipaddr as a variable and use it to write the ifcfg-eth script.
How should i go about this?
# 2  
Old 03-19-2008
Code:
# one way that does not use an intermediate  file
tracert -m 1 | read one two ipaddr dummy
# from the file
awk '{ print $3}' traceroute.txt | read ipaddr
# if you want to lose the ( ) around the ipaddr if you really have one
awk '{ print $3}' traceroute.txt | tr -d '('  | tr -d ')'  | read ipaddr

# 3  
Old 03-19-2008
i am using this in the script
traceroute -m1 ipaddr |grep 10.12 |awk '{ print $3}'| tr -d '(' | tr -d ')' | read ipaddr

echo $ipaddr

the only problem now is that it wont run as a single command.

ipaddr=$ ( traceroute -m1 10.0.100.1 |grep 10.12 |awk '{ print $3}'| tr -d '(' | tr -d ')' )
tracert.sh: line 3: syntax error near unexpected token `|'
tracert.sh: line 3: `ipaddr=( traceroute -m 1 10.100.0.100 |grep 10.12 |awk '{print $3}'| tr -d '(' | tr -d ')' )'
# 4  
Old 03-19-2008
so i got the command to work on a single line, syntax error.

What i want to do now is trim the last three digits of the ip..

I have 192.168.1.1 i'm trying to achieve 192.168.1
# 5  
Old 03-19-2008
Code:
$ echo "192.168.1.1" | sed 's/\([0-9]*\)\(\.[0-9]*\)\(\.[0-9]*\)\(\.[0-9]*\)/\1\2\3/'
192.168.1
$

# 6  
Old 03-19-2008
Code:
 # echo "192.168.1.1" | awk -F'.' ' {IP=""; for(i=1;i<NF;i++) { IP=IP $i "." } print IP}'
192.168.1.

# 7  
Old 03-19-2008
Quote:
Originally Posted by aspect_p
What i want to do now is trim the last three digits of the ip..

I have 192.168.1.1 i'm trying to achieve 192.168.1

Do you want to remove the last two or the last three characters? You say three, but your example only has two removed.
Code:
ipaddr=192.168.1.1
printf "%s\n" "${ipaddr%??}"
printf "%s\n" "${ipaddr%???}"

On the other hand, if you want the last component of the dotted quad address removed:
Code:
ipaddr=192.168.1.1
printf "%s\n" "${ipaddr%.*}"

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Shell script to read lines in a text file and filter user data Shell Programming and Scripting

sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies

2. Shell Programming and Scripting

Read in shell variable values from a file

Hello, I have a simple script that runs an application, # these arguments have the same value for all splits ARCH=12.11.1 BATCHES=50 EPOCHS=5000 LEARN_MODE=ONLINE LEARN_RATE=0.25 PROJ=02_BT_12.11.1.proj echo "processing split A on hex" cd A/ DATA_SET=S2A_v1_12.1.1_1... (4 Replies)
Discussion started by: LMHmedchem
4 Replies

3. Shell Programming and Scripting

How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..?

Input are file and file1 file contains store.bal product.bal category.bal admin.bal file1 contains flip.store.bal ::FFFF:BADC:CD28,::FFFF:558E:11C5,6,8,2,1,::FFFF:81C8:CA8B,::FFFF:BADC:CD28,1,0,0,0,::FFFF:81C8:11C5,2,1,0,0,::FFFF:81DC:3111,1,0,1,0 store.bal.... (2 Replies)
Discussion started by: veeruasu
2 Replies

4. Shell Programming and Scripting

How to read * in a variable in shell script??

hi, i have a text file which conatins some fields delimited by space. some fields contains * as entries. cron_file.txt 0 * * * * 0 3 * * * i want to read each line 1 by 1 and store each field in seperate variables n a shell script. i am unable to read the field that contains a *. how... (3 Replies)
Discussion started by: Little
3 Replies

5. Shell Programming and Scripting

How to read a file through shell script?

hi all, i have to read a file using shell script for example my csv file is like this Tid Inputfille Inputfilepath 1 ABC_20141218.idr /export/home/him60t1/input 2 ABC_20141219.idr /export/home/him60t1/input1 what i have to do is if on my command line i... (1 Reply)
Discussion started by: ramsavi
1 Replies

6. Shell Programming and Scripting

How to read file and load data into a script as variable

I need to read a text file that contain columns of data, i need to read 1st column as a function to call, and others are the data i need to get into a ksh script. I am quite new to ksh scripting, i am not very sure how to read each row line by line and the data in each columns of that line, set... (3 Replies)
Discussion started by: gavin_L
3 Replies

7. Shell Programming and Scripting

How to write script read file and assign it as variable?

Hi all, I want write a csh script which must be able: 1.read a file 2.assign value in file as variable and can i use read in csh script? thx (2 Replies)
Discussion started by: proghack
2 Replies

8. Shell Programming and Scripting

how to read dbf file in shell script and to convert dbf file usinf shell script

Hi all, I am new to shell scripting. I have dbf file and I need to convert it into csv file. OR, can i read the fields from a .dbf file and OR seprate the records in dbf file and put into .csv or txt. Actually in the .dbf files I am getting , the numbers of fields may vary in very record and... (6 Replies)
Discussion started by: gauara
6 Replies

9. Shell Programming and Scripting

Perl script variable to read shell command

Solaris 10 Korn shell ksh, Hi there, I have figured out to get yesterday's date which is using the below command: TZ=GMT+24; date +%d-%b-%Y to get the format of 30-Sep-2008 and TZ=GMT+24; date +%Y%m%d to get the format of 20080930. I need this two format. In my perl script below I need... (4 Replies)
Discussion started by: bulkbiz
4 Replies

10. Shell Programming and Scripting

Read variable from file in a C shell script

Hi, I have a 1-line file which looks like " First second third 4 five". I need to extract the number (here 4) in that line and put it in a variable. I will use the variable later to make few tests in my C shell script. Can somebody help me? (2 Replies)
Discussion started by: haouesse
2 Replies
Login or Register to Ask a Question