how to protect white space in for loop


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to protect white space in for loop
# 1  
Old 07-01-2008
Question how to protect white space in for loop

Hi All,

I know there's a really simple answer to this but I just can't think of it Smilie

I'm processing a file which has lines containing white space i.e.

Quote:
this is the first line
this is the second line
this is the third line
And I want to perform some awk on each line but when I do the following:

Code:
for US in $( cat /tmp/unique-strings.tmp | sed 's/\[/\\[/g' | sed 's/\]/\\]/g' | sed 's/\//\\\//g' )
do

echo ""
echo "$US"
echo ""

done

Each line gets broken down into it's component parts like this:

Quote:
this

is

the

first

line
How can I get it to echo each complete line? (In my code I obviously want to do more than just echo the line...)

Thanks,

p.
# 2  
Old 07-01-2008
Sorry I don't get it. Please just show the input file and how the output should look like. If you work each element with for from a list, every element will be echoed line by line, that's as it is. In the example you use sed, not awk Smilie
# 3  
Old 07-01-2008
Something like this?

Code:
awk '{for(i=1;i<=NF;i++){printf("%s\n\n", $i)}}' file

Regards
# 4  
Old 07-01-2008
Sorry, I'm not explaining myself clearly.

I would like the entire sentence to be treated as one string but it's getting split into component parts (each word).

Is there a way I can stop this split occuring?
# 5  
Old 07-01-2008
Don't beat me, but you could just "cat" the file and everything will be fine hehe Smilie
But I guess you will do something with every sentence... I would prefer this
Code:
cat infile |\
while read LINE; do
    echo "This is my line:" ${LINE}
    #now do something with it in here
done

If you are going to parse the contents of the line, better use awk or sed like Franklin52 did.
# 6  
Old 07-01-2008
Code:
while read record
do
echo "$record" | sed 's/\[/\\[/g' | sed 's/\]/\\]/g' | sed 's/\//\\\//g'| read US
echo ""
echo "$US"
echo ""

done < /tmp/unique-strings.tmp

# 7  
Old 07-01-2008
Quote:
Originally Posted by zaxxon
Don't beat me, but you could just "cat" the file and everything will be fine hehe Smilie
But I guess you will do something with every sentence... I would prefer this
Code:
cat infile |\
while read LINE; do
    echo "This is my line:" ${LINE}
    #now do something with it in here
done

If you are going to parse the contents of the line, better use awk or sed like Franklin52 did.
Brilliant that's what I needed thanks Smilie

Believe it or not it's the first time I've used a while statement in one of my scripts! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Add white space

hi guys how can i add spacein file name with sed if strings have no space around dash input 19-20 ( 18-19 ) ABC-EFG output after add white space 19 - 20 (18 - 19 ) ABC - EFG thx in advance (2 Replies)
Discussion started by: mhs
2 Replies

2. Shell Programming and Scripting

Remove unwanted white space

Hi, I have a very big file 25GB with information present in it like $ head ind_stats update index statistics pfirm001.dbo.Office using 200 values go ... (11 Replies)
Discussion started by: sam05121988
11 Replies

3. UNIX for Dummies Questions & Answers

filename with white space

our user creates a text file with a white space on the filename. this same file is transfered to unix via automation tool. i have a korn shell script that reads these files on a input directory and connects to oracle database to run the oracle procedures which will load the data from each of the... (2 Replies)
Discussion started by: wtolentino
2 Replies

4. Shell Programming and Scripting

Delete white space using sed

Hi , I have a file with contents as below group1 = aaaaa, bbbbb, ccccc, aaa group2=aaa, bbbbb, ccccc, aaaaa group3 = bbbbb, aaa, ccccc, aaaaa group4 = bbbbb, aaa,ccccc, aaaaa I want to search for "aaa" and the output should be as below group1 = aaaaa, bbbbb, ccccc group2= bbbbb, ccccc,... (3 Replies)
Discussion started by: anil8103
3 Replies

5. Shell Programming and Scripting

sed + white space

Hi, What sed command (if sed is the right command) can remove ALL white space from my file. I have a csv, except I want to remove all white space between commas and characters. My idea (without testing) sed 's/ //g' Is there a better way? (18 Replies)
Discussion started by: mcclunyboy
18 Replies

6. Shell Programming and Scripting

Matching white space through Grep

Hello All, I am trying to match white space in patterns through - Grep I tried ] & ] but none of them worked. Then I tried Perl extension '\s' and it worked. So just wanted to know if ] & ] are still supported or have they become deprecated. However they have been mentioned in the... (3 Replies)
Discussion started by: paragkalra
3 Replies

7. UNIX for Dummies Questions & Answers

SED with White Space

Dear Members, Suppose i have a variable test which stores a string as below: test='John drives+++++++++a+++++car' now i want to use sed on the above variable and replace + with a white space, so that i get echo $test should give me 'john drives a car' Between... (1 Reply)
Discussion started by: sandeep_1105
1 Replies

8. UNIX for Dummies Questions & Answers

Padding With White Space Between Variables

Dear Users, How do we pad with white space of particular length between two variables. For Example: Suppose i define the variables as follows: a='toyota' b='camry' c='honda' d='accord' e=`echo "$a"'\n'"$b"` f=`echo "$c"'\n'"$d"` If i do an echo on variables e and f i get :... (1 Reply)
Discussion started by: sandeep_1105
1 Replies

9. Shell Programming and Scripting

stripping white space...

Hi All; Having a problem with a file.. the file contains the following data... (a snapshot) 1331F9E9DB7C2BB80EAEDE3A8F043B94,AL7 1DZ,M,50 186FDF93E1303DBA217279EC3671EA91,NG5 1JU,M,24 3783FFAF602015056A8CD21104B1AAAF,CH42 4NQ,M,17 It has 3 columns sepreated by a , the second column... (7 Replies)
Discussion started by: Zak
7 Replies

10. Shell Programming and Scripting

How to keep white space is being deleted using read

I am using Posix shell to write a script. The problem I am having is that when I use the read command to go through a file I lose the tabs. How can I keep this from happening? (1 Reply)
Discussion started by: keelba
1 Replies
Login or Register to Ask a Question