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


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How get only required lines & delete the rest of the lines in file
# 1  
Question 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:
HTML Code:
 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:       2.016000e+25
Mtt:      -1.576000e+25
Mpp:      -4.390000e+24
Mrt:      -2.089000e+25
Mrp:      -1.011000e+25
Mtp:       1.012000e+25

 PDE 1990  1 10 11 53 21.20  11.6000   95.1900  33.0 5.3 5.4 ANDAMAN ISLANDS REGION
event name:     011090D
time shift:      1.6000
half duration:   2.5000
latitude:       11.7100
longitude:      95.0300
depth:          61.0000
Mrr:      -2.770000e+23
Mtt:      -2.288000e+24
Mpp:       2.565000e+24
Mrt:       6.300000e+22
Mrp:      -1.190000e+24
Mtp:       6.836000e+24

 PDE 1990  1 22 17 26 12.10   3.8500   96.1000  51.0 6.0 0.0 NORTHERN SUMATERA
event name:     012290D
time shift:      7.1000
half duration:   5.0000
latitude:        3.5500
longitude:      95.9300
depth:          50.1000
Mrr:       1.837000e+25
Mtt:      -1.010000e+25
Mpp:      -8.270000e+24
Mrt:       1.084000e+25
Mrp:      -1.030000e+25
Mtp:       1.330000e+25

 PDE 1990  2  5  5 16 45.10  37.0700   71.2700 102.0 6.1 0.0 AFGHANISTAN-USSR BORDER
event name:     020590A
time shift:      8.4000
half duration:   4.9000
latitude:       36.5600
longitude:      70.8400
depth:         113.5000
Mrr:       1.749000e+25
Mtt:      -2.940000e+25
Mpp:       1.191000e+25
Mrt:      -7.030000e+24
Mrp:      -1.093000e+25
Mtp:      -5.500000e+23
I just want to retain first line & delete rest of the lines in the file
THe output file should be like
b.dat
Code:
 PDE 1990  1  9 18 51 28.90  24.7500   95.2800 118.0 6.1 0.0 BURMA
 PDE 1990  1 10 11 53 21.20  11.6000   95.1900  33.0 5.3 5.4 ANDAMAN ISLANDS
 PDE 1990  1 22 17 26 12.10   3.8500   96.1000  51.0 6.0 0.0 NORTHERN SUMATERA
 PDE 1990  2  5  5 16 45.10  37.0700   71.2700 102.0 6.1 0.0 AFGHANISTAN-USSR BORDER

Help me out.....
# 2  
Code:
grep "^PDE" a.dat > output.txt

# 3  
It works only if the line starts from PDE..But there are few lines which start from differetn charcters
for example:
a.dat:
HTML Code:
 PDE 2010  5  9  5 59 42.00   3.7800   96.0500  45.0 7.2 7.2 NORTHERN SUMATRA, INDONE
event name:     201005090559A
time shift:      9.6600
half duration:  10.0000
latitude:        3.3800
longitude:      95.7900
depth:          37.6200
Mrr:       4.410000e+26
Mtt:      -2.590000e+26
Mpp:      -1.810000e+26
Mrt:       5.750000e+26
Mrp:      -5.280000e+26
Mtp:       2.250000e+26

Previous search examined first 31195 events in catalog

Results
Output in CMTSOLUTION format

 PDEW2009  7 24  3 11 56.80  31.1600   85.9000  13.4 5.7 5.8 XIZANG
event name:     200907240311A
time shift:      5.9100
half duration:   1.9000
latitude:       31.0500
longitude:      86.1000
depth:          28.0700
Mrr:      -6.450000e+23
Mtt:      -5.720000e+24
Mpp:       6.370000e+24
Mrt:       1.710000e+24
Mrp:       6.700000e+23
Mtp:       4.520000e+23

 HSW 2010  5 29  2 30  0.00  33.2500   96.2500  33.0 0.0 5.9 QINGHAI, CHINA
event name:     201005290230A
time shift:     -5.0000
half duration:   1.9000
latitude:       33.2500
longitude:      96.3000
depth:          20.8300
Mrr:      -5.500000e+23
Mtt:      -3.130000e+24
Mpp:       3.680000e+24
Mrt:      -1.500000e+23
Mrp:       2.860000e+23
Mtp:       4.750000e+24

 PDEW2009 12 13 14 41 55.80  22.0000   91.8200  10.0 5.4 0.0 BAY OF BENGAL
event name:     200912131441A
time shift:      0.7500
half duration:   0.7000
latitude:       21.8700
longitude:      91.7400
depth:          12.0000
Mrr:       2.660000e+23
Mtt:      -9.730000e+21
Mpp:      -2.570000e+23
Mrt:       2.720000e+22
Mrp:      -4.690000e+22
Mtp:       8.550000e+22
The output file should be
b.dat:
HTML Code:
 PDE 2010  5  9  5 59 42.00   3.7800   96.0500  45.0 7.2 7.2 NORTHERN SUMATRA, INDONE
 PDEW2009  7 24  3 11 56.80  31.1600   85.9000  13.4 5.7 5.8 XIZANG
 HSW 2010  5 29  2 30  0.00  33.2500   96.2500  33.0 0.0 5.9 QINGHAI, CHINA
 PDEW2009 12 13 14 41 55.80  22.0000   91.8200  10.0 5.4 0.0 BAY OF BENGAL
# 4  
Try:

Code:
sed '/ *PDE/!d' a.out

# 5  
try this

Code:
sed -n '1,${p;n;n;n;n;n;n;n;n;n;n;n;n;n;}' file_name

# 6  
try
Code:
awk 'NF > 5' file_name

# 7  
Try:

Assuming that you need lines starting with PDE/HSE/..


Code:
sed '/^[A-Z0-9]* /!d' a.out

 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #191
Difficulty: Easy
In Python, the tuple data type is immutable and cannot contain mixed types.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to search & delete inclusively between two lines?

Hi all, I was wondering if anyone would know how to search & delete inclusively between two lines, please: Important: There are multiple }; lines. I'm curious how to delete the correct one only. Line numbers may vary each time this script is run. For example, I'd like to delete only the... (6 Replies)
Discussion started by: chatguy
6 Replies

2. Shell Programming and Scripting

sed one liner to Delete blank lines - Help required

Hi, cat test.txt BlankLine BlankLine BlankLine BlankLine ello hi helo BlankLine BlankLine heylo BlankLine BlankLine BlankLine done BlankLine BlankLine BlankLine (1 Reply)
Discussion started by: TomG
1 Replies

3. 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

4. Shell Programming and Scripting

Sed/awk to delete single lines that aren't touching other lines

Hello, I'm trying to figure out how to use sed or awk to delete single lines in a file. By single, I mean lines that are not touching any other lines (just one line with white space above and below). Example: one two three four five six seven eight I want it to look like: (6 Replies)
Discussion started by: slimjbe
6 Replies

5. Shell Programming and Scripting

search and replace, when found, delete multiple lines, add new set of lines?

hey guys, I tried searching but most 'search and replace' questions are related to one liners. Say I have a file to be replaced that has the following: $ cat testing.txt TESTING AAA BBB CCC DDD EEE FFF GGG HHH ENDTESTING This is the input file: (3 Replies)
Discussion started by: DeuceLee
3 Replies

6. 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

7. 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

8. Shell Programming and Scripting

To extract the required lines from a file

I have a files in a directory in this format data data data ---BEGIN CERT----- data data data ---END CERT ----- Now, I want to extract the lines starting from --BEGIN CERT-- and write the contents till the end of file into a new file.How can I do this for all the files in the... (1 Reply)
Discussion started by: sureshg
1 Replies

9. Shell Programming and Scripting

SED: match pattern & delete matched lines

Hi all, I have the following data in a file x.csv: > ,this is some text here > ,,,,,,,,,,,,,,,,2006/11/16,0.23 > ,,,,,,,,,,,,,,,,2006/12/16,0.88 < ,,,,,,,,,,,,,,,,this shouldnt be deleted I need to use SED to match anything with a > in the line and delete that line, can someone help... (7 Replies)
Discussion started by: not4google
7 Replies

10. Shell Programming and Scripting

Help required regarding Extracting lines from a file

I have a file containing the following contents All of us, including Zippy, our dog All of us, including Zippy and Zippy All of us, including Zippy and Zippy and Zelda Testing All of us Zippy Now, i wanna grep and get the lines which has only one occurance of word Zippy and starting with... (1 Reply)
Discussion started by: google_ever
1 Replies

Featured Tech Videos