delete lines in a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers delete lines in a file
# 15  
Old 03-06-2007
Quote:
Originally Posted by su_in99
One more question please,

If I need the first line and another line, for example, the line "Grid-ref= " and the second row of each metrix as shown below.

Grid-ref= 443, 229
148 189 228 251 296 329 331 338 308 263 219 179
Grid-ref= 443, 230
142 182 223 248 297 330 331 340 309 263 215 172
Grid-ref= 443, 231
140 177 222 248 299 332 333 343 311 264 212 169
Grid-ref= 443, 232
135 172 217 243 297 329 333 343 309 263 209 164

Could you guide me how I should change the command, please?
I'd be really appreciated with any suggestion.

Many thanks,
su_in99
Code:
sed -n "/Grid-ref/{N;s/\n.*$//;N;p}" file >newfile

# 16  
Old 03-06-2007
Quote:
Originally Posted by anbu23
Code:
sed -n "/^Grid-ref=/{N;p;}" file

can u please tell anbu wat does this code do...
i din get the logic...
many thanx in advance
# 17  
Old 03-06-2007
Quote:
Originally Posted by suri
can u please tell anbu wat does this code do...
i din get the logic...
many thanx in advance
Code:
sed -n "/^Grid-ref=/{N;p;}" file

If a line starts with Grid-ref then read the next line from file and append it to pattern space and then print contents in the pattern space.
# 18  
Old 03-07-2007
average value

If I need the average value for each column, for example,

Grid-ref= 443, 229
157.9 178.2 217.7 246.9 293.6 324.7 323.3 331.8 313 264.4 210.3 165.2
Grid-ref= 443, 230
151.3 172.3 213.1 245 293.9 325.4 323.3 332.8 312.9 262.9 206.8 158.9
Grid-ref= 443, 232
147.8 168.5 211.5 245.3 294.5 328.4 325.8 335.1 314.2 264.4 205 156.3

would you mind to tell how to do that.

Any help would be greatly appreciated.
su_in99
# 19  
Old 03-07-2007
Code:
awk ' { if ( $0 ~ /^Grid-ref/ ) {
        if( tot == 0 ) { tot = NR }
        else {
                tot = NR - tot -1;
                for( i = 1; i <= nf ; ++i )
                        printf("%.1f ", arr[i] / tot );
                printf("\n")
                for( i = 1; i <= nf ; ++i )
                        arr[i] = 0
                tot = NR;
        }
        print
}
else
        for( i = 1; i <= NF ; ++i )
                arr[i] = arr[i] + $i
nf=NF
}
END {
tot = NR - tot
for( i = 1; i <= nf ; ++i )
        printf("%.1f ", arr[i] / tot );
printf("\n")
}
' file

# 20  
Old 03-07-2007
Thank you for your code.
It's a kind of silly question, however, could you please tell me how to write the code. can i write it directly on terminal window or do i need to write it as a file and then compile it. Could you please guide me clearly since i've just started playing with Unix.
Many thanks,
su_in99
# 21  
Old 03-08-2007
You can run by pasting that code directly to terminal or keep that code in a file and give execute permission to that file and run it.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Delete Some Lines from File

Hi, I have a txt document having a format like this: DATA1 | DATA2 | DATA3 | 23-JAN-20 23:41:34 DATA1 | DATA2 | DATA3 | 23-JAN-20 23:41:32 DATA1 | DATA2 | DATA3 | 23-JAN-20 23:41:30 ... DATA1 | DATA2 | DATA3 | 23-JAN-20 22:35:31 DATA1 | DATA2 | DATA3 | 23-JAN-20 22:30:34 DATA1 | DATA2 |... (1 Reply)
Discussion started by: gc_sw
1 Replies

2. Shell Programming and Scripting

Delete 40 lines after every 24 lines from a file

Hello, I have file of more than 10000 lines. I want to delete 40 lines after every 20 lines. e.g from a huge file, i want to delete line no from 34 - 74, then 94 - 134 etc and so on. Please let me know how i can do it. Best regards, (11 Replies)
Discussion started by: nehashine
11 Replies

3. UNIX for Dummies Questions & Answers

Delete lines in a file

Hi This is a sample of my data file. ##field PH01000000 1 4869017 #PH01000000G0240 WWW278545G0240 P.he_model_v1.0 erine 119238 121805 . - . ID=PH01000000G0240;Description="zinc finger, C3HC4 type domain containing protein, expressed"... (7 Replies)
Discussion started by: sonia102
7 Replies

4. UNIX for Advanced & Expert Users

In a huge file, Delete duplicate lines leaving unique lines

Hi All, I have a very huge file (4GB) which has duplicate lines. I want to delete duplicate lines leaving unique lines. Sort, uniq, awk '!x++' are not working as its running out of buffer space. I dont know if this works : I want to read each line of the File in a For Loop, and want to... (16 Replies)
Discussion started by: krishnix
16 Replies

5. UNIX for Dummies Questions & Answers

How get only required lines & delete the rest of the lines in file

Hiiii I have a file which contains huge data as a.dat: PDE 1990 1 9 18 51 28.90 24.7500 95.2800 118.0 6.1 0.0 BURMA event name: 010990D time shift: 7.3000 half duration: 5.0000 latitude: 24.4200 longitude: 94.9500 depth: 129.6000 Mrr: ... (7 Replies)
Discussion started by: reva
7 Replies

6. Shell Programming and Scripting

How to delete lines in a file that have duplicates or derive the lines that aper once

Input: a b b c d d I need: a c I know how to get this (the lines that have duplicates) : b d sort file | uniq -d But i need opossite of this. I have searched the forum and other places as well, but have found solution for everything except this variant of the problem. (3 Replies)
Discussion started by: necroman08
3 Replies

7. Shell Programming and Scripting

delete n last lines of a file

Hello!!! how can I delete the last n lines of a file??? Thanks (7 Replies)
Discussion started by: ncatdesigner
7 Replies

8. Shell Programming and Scripting

delete the lines from file

i have two files & want to delete the lines from 2nd file which matches with 1st file (2 Replies)
Discussion started by: sameersam
2 Replies

9. Shell Programming and Scripting

delete lines from a file.

I have a file which has about 500K records and I need to delete about 50 records from the file. I know line numbers and am using sed '13456,13457,......d' filename > new file. It does not seem to be working. Any help will greatly appreciated. (5 Replies)
Discussion started by: oracle8
5 Replies

10. UNIX for Dummies Questions & Answers

delete all lines in file

how can i delete all lines in file by using "vi" ? (6 Replies)
Discussion started by: strok
6 Replies
Login or Register to Ask a Question