Deleting whole lines from a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Deleting whole lines from a file
# 1  
Old 07-07-2008
Deleting whole lines from a file

I have a file with 65 sets of 35 coordinates, and would like to isolate these coordinates so that I can easily copy the coordinates to another file. The problem is, I've got a 9 line header before each set of coordinates (so each set is 44 lines long). There are a zillion threads out there about deleting whole lines out of a file, so I figured I would give one of those a shot. First I split the big file into a bunch of little ones using:
Code:
split -l 44 -d filename output

and then did what I thought would delete the first 9 lines of every file with output in the file name, combining everything back into one big file again:
Code:
more +10 output* > newfile

However, after I ran that I noticed that in newfile, only the first 9 lines of the first ouput file were deleted while every other file remained unchanged. Further, an additional header
Code:
:::::::::::::::
output00
:::::::::::::::

had been added on!
What am I doing wrong?

tl;dr how do you delete lines 1-9, 45-53, 89-97, etc in a file?
# 2  
Old 07-07-2008
Quote:
Originally Posted by red baron
how do you delete lines 1-9, 45-53, 89-97, etc in a file?
Code:
 awk 'NR%44 < 10 && NR % 44 > 0{next} 1' file > newfile

Regards
# 3  
Old 07-07-2008
Quote:
Originally Posted by Franklin52
Code:
 awk 'NR%44 < 10 && NR % 44 > 0{next} 1' file > newfile

So I just want to make sure I follow this. You converted the numbering of lines to base 44 (that's what the NR % 44 was, I gather) so that you could delete any line with a ones place of 9 or under? What's the 0 {next} 1 bit, if you don't mind my asking?
Also, thanks very much for your help!
# 4  
Old 07-07-2008
Quote:
Originally Posted by red baron
So I just want to make sure I follow this. You converted the numbering of lines to base 44 (that's what the NR % 44 was, I gather) so that you could delete any line with a ones place of 9 or under? What's the 0 {next} 1 bit, if you don't mind my asking?
Also, thanks very much for your help!
Code:
awk 'NR%44 < 10 && NR % 44 > 0{next} 1' file > newfile

The awk variable NR gives the line number, the modulo operator % gives the remainder of the division of NR by 44.

Code:
NR%44 < 10 && NR % 44 > 0{next}

Skip lines if the remainder is less then 10 and greater then 0, thus the lines 1-9, 45-53, 89-97, etc. are not printed.

The 1 means true to awk and invokes awk to print the line.


Regards
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Deleting selected lines in a file

Hi Guys , I have two files say a1 and a2 having following contents a1 dag wfd a2 dag wfd chire hcm I want to delete only the lines in a2 which are in a1 and final output of a2 should be a2 chire hcm (6 Replies)
Discussion started by: Pradeep_1990
6 Replies

2. Shell Programming and Scripting

Deleting specific lines in a file

Hello, I have a file filled with dates, such as: 04-08-2011 message 04-08-2011 message 03-08-2011 message 01-08-2011 message 31-07-2011 message 24-07-2011 message 15-07-2011 message 13-12-2008 message 26-11-2007 message And I want to delete those lines whose date is older than 10... (5 Replies)
Discussion started by: asanchez
5 Replies

3. Shell Programming and Scripting

Re: Deleting lines from big file.

Hi, I have a big (2.7 GB) text file. Each lines has '|' saperator to saperate each columns. I want to delete those lines which has text like '|0|0|0|0|0' I tried: sed '/|0|0|0|0|0/d' test.txt Unfortunately, it scans the file but does nothing. file content sample:... (4 Replies)
Discussion started by: dipeshvshah
4 Replies

4. Shell Programming and Scripting

Deleting certain new lines from a file with shell

Good morning!!! Im a newbie with shell programing and i was wondering if there is a way to delete certain new lines from a file, here is an example of my current file: >seq_0 GTGAGATTGCTAATGAGCTGCTTTTAGGGGGCGTGTTGTGCTTGCTTTCC AACTTTTCTAGATTGATTCTACGCTGCCTCCAGCAGCCACCCCTCCCATC... (11 Replies)
Discussion started by: machalita
11 Replies

5. Shell Programming and Scripting

deleting lines from file

We have a server that logs transactions to a file. I want to write a script that will delete the first 50 lines of the file daily without renameing the file or moving the file. (8 Replies)
Discussion started by: daveisme
8 Replies

6. UNIX for Advanced & Expert Users

Deleting lines from a file

How I can delete 100 lines anywhere in a file without opening a file and without renaming the file. (11 Replies)
Discussion started by: Nirgude07
11 Replies

7. Shell Programming and Scripting

Deleting lines ending with . from a file

HI I'm looking to delete lines ending with .tk from below data file --------- abc.tk mgm.tk dtk mgmstk ------ I have written below code ---- sed '/.tk *$/d' dat_file.txt > temp.txt ---- But its deleting all the lines ending with tk. I need to delete only the lines ending .tk my... (5 Replies)
Discussion started by: shekhar_v4
5 Replies

8. Shell Programming and Scripting

Deleting lines in a file

How do I delete all the lines after the line containing text ***DISCLOSURES*** . I want to delete this line too. Thank you (2 Replies)
Discussion started by: reachsamir
2 Replies

9. Shell Programming and Scripting

Deleting last 2 lines from the file.

Hi I have a file & always I need to remove or delete last 2 lines from that file. So in a file if I have 10 lines then it should return me first 8 lines. Can someone help me? (4 Replies)
Discussion started by: videsh77
4 Replies

10. Shell Programming and Scripting

deleting lines in a log file

Is there an easy way to delete the first so many lines in a log file? like I have a log file that has 10000 lines, i want to just get rid of the first 9000. (2 Replies)
Discussion started by: BG_JrAdmin
2 Replies
Login or Register to Ask a Question