for loop in Unix


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting for loop in Unix
# 1  
Old 10-28-2009
for loop in Unix

This is the content of a file work.log
1 TGBUS I-US 0;15;83

i did this
for i in `cat work.log`
do
echo $i
done

I wanted the out put to be
1 TGBUS I-US 0;15;83

But the output appears as
1
TGBUS
I-US
0;15;83

For Loop treats space as a delimiter. Can i overrride this space as delimiter
Can anyone assist
# 2  
Old 10-28-2009
Try this to get rid of the spaces:

Code:
while read i
do
  echo "$i"
done < work.log

# 3  
Old 10-28-2009
This works. But theres no way to do the same with a for loop.

Just out of curiosity.
# 4  
Old 10-28-2009
Code:
for i in "`cat work.log`"
do
echo "$i\n"
done

# 5  
Old 10-28-2009
If i have undertood what you want, i think that:

for i in `cat work.log`
do
echo "$i \c"
done

it could be.

\c : suppress trailing newline
or
echo -n : do not output the trailing newline
# 6  
Old 10-28-2009
I should avoid the use of cat, but if you really want to use the for loop, you can change the IFS temporary like this:

Code:
#!/bin/sh

OLDIFS="$IFS" 

IFS=""

for i in `cat work.log`;do 
  echo "$i"
done

IFS="$OLDIFS"

# 7  
Old 10-28-2009
Quote:
Originally Posted by Franklin52
I should avoid the use of cat, but if you really want to use the for loop, you can change the IFS temporary like this:

Code:
#!/bin/sh

OLDIFS="$IFS" 

IFS=""

for i in `cat work.log`;do 
  echo "$i"
done

IFS="$OLDIFS"

But ..... doesn't he want the output in a unique line ????
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Running in a loop in UNIX

I have a table in oracle which has 2 columns table_name table_name1 U1 T1 U2 T2 I have to take these as a variable in unix and then go to /home/bin and execute a unix command using these variables. Considering that there is only one row in the table I was able to write the below but need help... (2 Replies)
Discussion started by: Ashcalin
2 Replies

2. UNIX for Dummies Questions & Answers

UNIX loop question

Dear all, I have a question regarding unix loops. I want to run 100 commands using file1.txt-file100.txt in parallel. I use the code below and it works well. But now I want to run first 20 commands first using file1.txt-file20.txt in parallel, then when they are completed, run the next 20... (4 Replies)
Discussion started by: forevertl
4 Replies

3. Shell Programming and Scripting

UNIX for loop

Guys, Please help me on the below.. sample.prm /u/test/: mail=123@gmail.com purgedays=30 zipdays=7 purgefile=log.gz zipfile=log /u/test/: mail=123@gmail.com purgedays=30 purgefile=txt.gz zipfile=txt zipdays=7 (2 Replies)
Discussion started by: AraR87
2 Replies

4. Shell Programming and Scripting

Unix For loop help

Hi, I need to reset root password on multiple servers, need to do it from my Jump server, so I'm plannin to use for loop. Can someone pleaz suggest me how to do this...? For example, I check the uptime of a server from my jump box, =========================================== for i in... (1 Reply)
Discussion started by: suren1829
1 Replies

5. UNIX for Dummies Questions & Answers

Help with unix for loop

Hi, I have a command that I want to translate to Unix. I mostly work with Windows and because of that I am stuck on a part. What I cannot find on the internet is skipping the first lines in a for loop and using a certain word/token. (I know how to do a normal loop with output) I need to skip... (1 Reply)
Discussion started by: flappy
1 Replies

6. Shell Programming and Scripting

Nested loop in Unix

Hi, I have the following script which is two while loops, but it is working only for the Inner loop without going back to the outer loop. the aim of this script is to remove data files from memory after each five times for each setting of the rotate parameter #!/bin/csh set hdir =... (1 Reply)
Discussion started by: moon218
1 Replies

7. Shell Programming and Scripting

Unix loop

i have 2 files with entries like, file 1: 11 22 33 .. and so on file 2: jhon mercy rocky and so on.. i want print the content of those files as 11@jhon 22@mercy 33@rocky and so on ..... (5 Replies)
Discussion started by: Gopal_Engg
5 Replies

8. Shell Programming and Scripting

for loop in unix

hi, can any one suggest why the program 2 is not working. only difference is for ab in *.txt for ab in a_DATA.txt b_DATA.txt c_DATA.txt ------------------------------------ Program :1 (working fine) #!/bin/ksh for ab in a_DATA.txt b_DATA.txt c_DATA.txt suf="_" echo "old->... (1 Reply)
Discussion started by: deep_kol
1 Replies

9. Shell Programming and Scripting

Please help with UNIX while loop...

Hi all. I am trying to execute a while loop that reads a log file containing a file listing, and it compares file sizes, etc. But I am getting an error that makes it seem like it is not reading the log file line by line. When I do a 'more' on the log file, it doesn't appear to be wrapped... ... (1 Reply)
Discussion started by: gerard1
1 Replies

10. Shell Programming and Scripting

timing a loop in unix.

hi guys.. i have a shell script that loops through a certain directory to see if a file has been created and then prints the file if it exists... the only problem i have now is that sometimes the flat does not get created by the program thats supposed to create it, in this scenario, my loop... (1 Reply)
Discussion started by: wolkott
1 Replies
Login or Register to Ask a Question