looping through a variable in a shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting looping through a variable in a shell script
# 1  
Old 03-04-2007
looping through a variable in a shell script

hi,

my first question is :-

i would like to know how do i loop through the output of a variable.

for ex:- if i have a variable called x and echo $x gives the output like

feb 19 07

feb 20 07

feb 21 07

i would like to know how do i loop through this since it is separated and i woul be using this output elsewhere also.

My second question is :-

how do i merge two outputs which can be looped.

example :-

i have the output in one file as

xyz|123|27|feb|2003

wer|342|23|feb|2005

sde|143|30|feb|2006

the output of the second file is

99991231 feb 15
20061121 feb 23
20060915 feb 25


now i would like the final output to be

xyz|123|27|feb|2003|99991231 feb 15

wer|342|23|feb|2005|20061121 feb 23


sde|143|30|feb|2006|20060915 feb 25


thanks a lot in advance.
# 2  
Old 03-04-2007
Quote:
Originally Posted by ramachandranrr
hi,

my first question is :-

i would like to know how do i loop through the output of a variable.

for ex:- if i have a variable called x and echo $x gives the output like

feb 19 07

feb 20 07

feb 21 07

i would like to know how do i loop through this since it is separated and i woul be using this output elsewhere also.
You would not get that output from 'echo $x'; you might get it from 'echo "$x"' (note the quotes).

What exactly is the content of "$x". Use this to see it:

Code:
printf "%s\n" "$x"

If you want to loop through each word in the variable:

Code:
for var in $x
do
   printf "var=%s\n" "$var"
done

If there are multiple lines in the variable, and you want each line separately, change IFS to a newline and then use a for loop:

Code:
IFS='
'
for var in $x
do
   printf "var=%s\n" "$var"
done


Quote:
My second question is :-

how do i merge two outputs which can be looped.

example :-

i have the output in one file as

xyz|123|27|feb|2003

wer|342|23|feb|2005

sde|143|30|feb|2006

the output of the second file is

99991231 feb 15
20061121 feb 23
20060915 feb 25


now i would like the final output to be

xyz|123|27|feb|2003|99991231 feb 15

wer|342|23|feb|2005|20061121 feb 23


sde|143|30|feb|2006|20060915 feb 25


thanks a lot in advance.
IF you want to merge line 1 from file1 with line 1 from file2, and line 2 with line 2, etc., use paste:

paste -d\| file1 file2
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Looping on variable having new line \n fails

I have a for loop that constructs a variable "filelistonly" having entries separated by "\n" new line. The second, third & fourth while loops are my attempt to iterate the variable "filelistonly" upon new line "\n", however non of them work. Below is my script: //First Loop for i in... (2 Replies)
Discussion started by: mohtashims
2 Replies

2. UNIX for Beginners Questions & Answers

How can I assign awk's variable to shell script's variable?

I have the following script, and I want to assign the output ($10 and $5) from awk to N and L: grdinfo data.grd | awk '{print $10,$5}'| read N L output from gridinfo data.grd is: data.grd 50 100 41 82 -2796 6944 0.016 0.016 3001 2461. where N and L is suppose to be 3001 and 100. I use... (8 Replies)
Discussion started by: geomarine
8 Replies

3. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

4. Shell Programming and Scripting

Looping not completing in shell script

Hi, Iam using below code to login to servers to get cpu utilisation. but output is coming for only one server. code is below root@blr-svr-oclan-01 # more SSSC_CPU_UTIL1.sh #!/bin/sh echo "CPU UTILIZATION" while read line; do IDLE=`/usr/local/bin/sshpass -p 'xxx' ssh xxx@$line 'sar 2 2' |... (1 Reply)
Discussion started by: surender reddy
1 Replies

5. Shell Programming and Scripting

Looping in the shell script with help of script timer.

Hello Experts- We are facing some issues in the while loop script when we use the script time to decide whether to exist from the loop or continue. Below is the script SrcExitLoop="FALSE" Src_InitialStartTime=`date +%s` Src_StartTime=`date +%s` Src_NUM_ALERTS=0 TOTAL_ALERTS=`expr <SOME... (4 Replies)
Discussion started by: Amey Joshi
4 Replies

6. Shell Programming and Scripting

C Shell Script: While function not fully looping

I am new to scripting and this is probably the 4th or 5th simple script I have written. I am working with a HUGE number of data that need to be organized into folders and named a certain way. I wrote the naming script using a while function to go through the 1000-some folders and rename the files... (0 Replies)
Discussion started by: notluckyhannah
0 Replies

7. Shell Programming and Scripting

assign awk's variable to shell script's variable?

Dear All, we have a command output which looks like : Total 200 queues in 30000 Kbytes and we're going to get "200" and "30000" for further process. currently, i'm using : numA=echo $OUTPUT | awk '{print $2}' numB=echo $OUTPUT | awk '{print $5}' my question is : can I use just one... (4 Replies)
Discussion started by: tiger2000
4 Replies

8. Shell Programming and Scripting

Looping through a shell script with sql statements

Hello members, I'm working on the Solaris environment and the DB i'm using is Oracle 10g. Skeleton of what I'm attempting; Write a ksh script to perform the following. I have no idea how to include my sql query within a shell script and loop through the statements. Have therefore given a... (4 Replies)
Discussion started by: novice82
4 Replies

9. Shell Programming and Scripting

Convert shell script for looping

Situation: I have a working shell script on our file server (OSXS Tiger) to connect to a workstation, which is using a portable home directory (phd), and rsync a user's MirrorAgent.log. I'm not that strong of a scripter (obviously), but I would like to add other workstations to this script as they... (4 Replies)
Discussion started by: le0pard13
4 Replies

10. Shell Programming and Scripting

Looping a perl script in a shell script

I am trying to get the follow script to run in the background on the 'fly'. I can launch it via cron and it will run in the background. BUT when I launch it from the command line it will run in the foreground. I figure it has to do with the while loop I have, but I have no clue how I can run the... (8 Replies)
Discussion started by: edkung
8 Replies
Login or Register to Ask a Question