Sponsored Content
Homework and Emergencies Emergency UNIX and Linux Support Urgent help pls.how to extract two lines having same starting number Post 302433933 by lifeline on Thursday 1st of July 2010 02:08:35 AM
Old 07-01-2010
Error

Code:
set -A array $(</tmp/inputfile) #reading file in array

c= ${#array[*]} #the no. of elements in the array
 
i=1
 
while [ $i -lt $c ]
do
   j=`expr $i +1`
   v1=`echo ${array[$i]}|cut -d" " -f1`
   v2=`echo ${array[$j]}|cut -d" " -f1`
   
   if [ $v1 = $v2 ]
       then
             array[$i]=`echo F.${array[$i]}`
   fi
   i=`expr $i +1`
done
 
i=1
 
while [ $i -le $c ]
do
   x=`echo ${array[$i]|cut -c1`
   
   if [ $x -ne "F" ]
     then
           `echo ${array[$i]}>>newfile`
   fi
done
 
`cat newfile`

see if the code given above works.

here i am trying to store each lines of the inputfile in an array.
c is the number of array elements. (or the numbert of lines in the input file.)
i am checkimg of the two consecutive fileds have same value. if true i am setting F as the 1st character in the 1st of the two lines. then store the same in the array.

later in another loop i am checking if the 1st character of any line is not F (this marks that this line has not been repeated). if true i am writing that to newfile.

newfile is the reqd ouput file.

Last edited by Scott; 07-01-2010 at 07:45 AM.. Reason: Added code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

extract some specific text file urgent pls

i have a big text file . i want to create new file as extract some specific text from the big file i am using hp ux please help (2 Replies)
Discussion started by: reyazan
2 Replies

2. Shell Programming and Scripting

How to print the number of lines from a file, the starting string should be passed`

Hi , I have file, which has the below content: line 100 a b c d line300 a s d f s line200 a s d a (3 Replies)
Discussion started by: little_wonder
3 Replies

3. Shell Programming and Scripting

extract the lines between specific line number from a text file

Hi I want to extract certain text between two line numbers like 23234234324 and 54446655567567 How do I do this with a simple sed or awk command? Thank you. ---------- Post updated at 06:16 PM ---------- Previous update was at 05:55 PM ---------- found it: sed -n '#1,#2p'... (1 Reply)
Discussion started by: return_user
1 Replies

4. Shell Programming and Scripting

awk if statement matching all lines starting w/ a number

Does awk have a syntax for a range of numbers or is this the best way? if ($1 >= 0 && $1 <= 9 ) (7 Replies)
Discussion started by: Arsenalman
7 Replies

5. Shell Programming and Scripting

Awk to extract lines with a defined number of characters

This is my problem, my file (file A) contains the following information: Now, I would like to create a file (file B) containing only the lines with 10 or more characters but less than 20 with their corresponding ID: Then, I need to compare the entries and determine their frequency. Thus, I... (7 Replies)
Discussion started by: Xterra
7 Replies

6. UNIX for Dummies Questions & Answers

Extract n number of lines from a file successively

Hello, I have a file with over 100,000 lines. I would like to be able extract 5000 lines at a time and give it as an input to another program. sed -n '1,5000p' <myfile> > myOut Similarly for 5001-10000 10001-15000 .... How can I do this in a loop? Thanks, Guss (5 Replies)
Discussion started by: Gussifinknottle
5 Replies

7. Shell Programming and Scripting

extract the lines by index number

Hi All, I want to extract the lines from file1 by using the index numbers from file2. In example, cat file1.txt 265 ABC 956 ... 698 DFA 456 ... 456 DDD 145 ... 125 DSG 154 ... 459 CGB 156 ... 490 ASF 456 ... 484 XFH 489 ... 679 hgt 481 ... 111 dfg 986 ... 356 vhn 444 ...... (7 Replies)
Discussion started by: senayasma
7 Replies

8. UNIX for Dummies Questions & Answers

Extract lines starting with rs

hello! could u, please, help: i have a file that includes 6 columns space delimited 1 rs4477212 0 82154 0 T 1 rs6680825 0 91472 0 G 1 rs9326626 0 570178 0 T 1 rs12123356 0 724702 0 C I need to extract to a separate file lines... (5 Replies)
Discussion started by: kush
5 Replies

9. Shell Programming and Scripting

Extract between lines starting with and

I have a combination of patterns to search. file.txt contains below: H2016-02-10 A74867712 I1556539758 Xjdflk534jfl W0000055722327732 W0000056029009389 A74867865 I1556536434 W0000055822970840 W0000055722325916 A74868015 I1556541270 C0000055928920421 E lines starting with A are... (5 Replies)
Discussion started by: chakrapani
5 Replies

10. UNIX for Dummies Questions & Answers

How to grep a line not starting with # from a file (there are two lines starting with # and normal)?

e.g. File name: File.txt cat File.txt Result: #INBOUND_QUEUE=FAQ1 INBOUND_QUEUE=FAQ2 I want to get the value for one which is not commented out. Thanks, (3 Replies)
Discussion started by: Tanu
3 Replies
array_allocate(3)					     Library Functions Manual						 array_allocate(3)

NAME
array_allocate - make sure array has at least n elements allocated SYNTAX
#include <array.h> void* array_allocate(array* x, uint64 membersize, int64 pos); array x; int64 pos; t* p = array_allocate(&x,sizeof(t),pos); DESCRIPTION
array_allocate makes sure that enough bytes are allocated in x for at least pos+1 objects of type t. (The size of t must be positive; oth- erwise the effects are undefined.) If not enough bytes are allocated (or x is unallocated), array_allocate allocates more bytes, moving the dynamically allocated region if necessary. array_allocate often allocates somewhat more bytes than necessary, to save time later. array_allocate then makes sure that the number of bytes initialized covers at least those pos+1 objects. If not enough bytes are initial- ized, array_allocate initializes more bytes (setting them to 0), up to exactly the end of the pos+1st object. array_allocate then returns a pointer to the pos+1st object; i.e., object number pos, with objects numbered starting at 0. This pointer can be used to change or inspect the object. The pointer can continue to be used through subsequent calls to array_get, array_start, array_length, and array_bytes, but it must not be used after any other operations on this array. If something goes wrong, array_allocate returns 0, setting errno appropriately, without touching x. In particular, array_allocate returns 0 if o x has failed, or o pos is negative, or o not enough memory is available. array_allocate does not change x to have failed; if you want to do that, use array_fail. SEE ALSO
array_get(3), array_start(3), array_fail(3) array_allocate(3)
All times are GMT -4. The time now is 07:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy