While loop till length of line is great enough


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting While loop till length of line is great enough
# 1  
Old 04-14-2014
While loop till length of line is great enough

I have the following code:

Code:
# Get the line of stations_info.txt starting with "${xstation1} " and copy it to file temp.txt
					grep "^${xstation1} " stations_info.txt > temp.txt
					# Get lat and long of station
                                        nl=0
                                        LEN=0
 					while [ ${LEN} -lt 10 ]; do
					line=
					let nl=nl+1
					line=$(head -n ${nl} temp.txt)
					LEN=$(echo ${#line})				
					done
					echo $line > temp2.txt
					lat=`awk '{print $3}' temp2.txt`
					long=`awk '{print $4}' temp2.txt`
					echo ${lat} ${long} >> ${PROJECT}/sources.txt
					rm temp.txt temp2.txt

The idea is to take the line of stations_info.txt which has the station name in the line. I then want to find the line with a length greater than 10. Using this line I need to extract the values from the third and fourth columns. My problem is that the line just extends and isn't reset. How can I get the line to reset, or do the above in another way?

Thanks in advance

---------- Post updated at 01:09 PM ---------- Previous update was at 01:03 PM ----------

I was being silly - have to change head
# 2  
Old 04-14-2014
This doesn't seem right. You're using too many temporary output files. Show what is in the input file and what the output should look like.
You may be able to do what you want simply by using awk not both shell script and awk.
# 3  
Old 04-14-2014
Code:
awk -vstation="${xstation1}" '$1 == station{p=1}p&&length($0)>10{print $3,$4;exit}' stations_info.txt >> "${PROJECT}/sources.txt"

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Combine multiline to one line till a blank line

Hello, I have a file as :- ABC DEF GHI JKL <BlankLine> MNO PQR STU VWX <BlankLine> YZA I need it as below:- ABCDEFGHIJKL; MNOPQRSTUVWX; (3 Replies)
Discussion started by: jassi10781
3 Replies

2. Shell Programming and Scripting

Bash script to read a file from particular line till required line and process

Hi All, Am trying to write wrapper shell/bash script on a utility tool for which i need to pass 2 files as arugment to execute utility tool. Wraper script am trying is to do with above metion 2 files. utility tool accepts : a. userinfo file : which contains username b. item file : which... (2 Replies)
Discussion started by: Optimus81
2 Replies

3. Shell Programming and Scripting

For loop till the files downloaded

Need assistance in writing a for loop script or any looping method. Below is the code where i can get all the files from the URL . There are about 80 files in the URL .Every day the files get updated . Script that i wanted is the loop must keep on running till it gets 80 files. It matches the count... (5 Replies)
Discussion started by: ajayram_arya
5 Replies

4. Shell Programming and Scripting

Grep with loop till search is done

I need help to put a script where it runs the svn command grep'ing for the ticket# in the comments to see if the ticket was used in the latest commit. so on command line: ./test.sh ticket-1 ticket-2 ticket-3 It should be able to check if ticket-1 is used first and if not then check if... (2 Replies)
Discussion started by: iaav
2 Replies

5. Shell Programming and Scripting

Check for length which exceeds specified length in a line

Hi, I have a issue, I need to loop through a comma delimited file and check for the length which exceeds specified length , if Yes truncate the string. But my problem is , I do not have to check for all the fields and the field lenght is not same for all the fields. For ex: Say my line... (9 Replies)
Discussion started by: rashmisb
9 Replies

6. Shell Programming and Scripting

Grep the word from pattern line and update in subsequent lines till next pattern line reached

Hi, I have got the below requirement. please suggest. I have a file like, Processing Item is: /data/ing/cfg2/abc.txt /data/ing/cfg3/bgc.txt Processing Item is: /data/cmd/for2/ght.txt /data/kernal/config.klgt.txt I want to process the above file to get the output file like, ... (5 Replies)
Discussion started by: rbalaj16
5 Replies

7. Shell Programming and Scripting

How to start reading from the nth line till the last line of a file.

Hi, For my reuirement, I have to read a file from the 2nd line till the last line<EOF>. Say, I have a file as test.txt, which as a header record in the first line followed by records in rest of the lines. for i in `cat test.txt` { echo $i } While doing the above loop, I have read... (5 Replies)
Discussion started by: machomaddy
5 Replies

8. Shell Programming and Scripting

[Solved] Problem in reading a file line by line till it reaches a white line

So, I want to read line-by-line a text file with unknown number of files.... So: a=1 b=1 while ; do b=`sed -n '$ap' test` a=`expr $a + 1` $here do something with b etc done the problem is that sed does not seem to recognise the $a, even when trying sed -n ' $a p' So, I cannot read... (3 Replies)
Discussion started by: hakermania
3 Replies

9. Shell Programming and Scripting

How to print lines till till a pattern is matched in loop

Dear All I have a file like this 112534554 446538656 444695656 225696966 226569744 228787874 113536566 443533535 222564552 115464656 225445345 225533234 I want to cut the file into different parts where the first two columns are '11' . The first two columns will be either... (3 Replies)
Discussion started by: anoopvraj
3 Replies

10. UNIX for Dummies Questions & Answers

Loop till you find a string in a fine <-- Need Help New to Unix Scripting

Guys - I am new to Unix scripting and am in need for a script that does the following. I have bits and pieces created and tested but i am just having a little difficult time getting it all together. - Loop through till it finds a string in a specific file. Any help is greatly appreciated. ... (1 Reply)
Discussion started by: mrehman
1 Replies
Login or Register to Ask a Question