Please help to delete lines in a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Please help to delete lines in a file
# 1  
Old 05-21-2008
Please help to delete lines in a file

Dear All,
I m trying to delete two lines at a time in file called 123.txt. Im using sed and based on line numbers i m deleting it and writing it to another file. Follwing i have done.

cat 123.txt | sed '1,5 d' > new

I want to delete line no 1 and 5 at a time, for that i m using sed. But instead it is deleting all the five lines. please help me.

cat -n 123.txt

1 This is the 1 line
2 This is the 2 line
3 This is the 3 line
4
5 My name

Thank & Regards
Naree
# 2  
Old 05-21-2008
Something like:

Code:
 awk 'NR==1||NR==5{next}1' file > newfile

Regards
# 3  
Old 05-21-2008
sed -n '2,4p' file > new

Thanks
Penchal
# 4  
Old 05-21-2008
Please help me two delete lines

Dear All,
Thanks for u r replies. But requirement of line number changes as my script will execute and take some 3 or 4 line numbers at a time. So please help me according to that.


Thanks & Regards
Naree
# 5  
Old 05-21-2008
You can use something like this:

Code:
awk '!(FNR~/^(1|3|5)$/)' filename

If it's not only a one-time operation,
use a script:

Code:
$ cat file
line1
line2
line3
line4
line5
line6
line7
line8
line9
line10
$ ./s "1 5 9" file
line2
line3
line4
line6
line7
line8
line10
$ ./s "10 3 8" file
line1
line2
line4
line5
line6
line7
line9
$ cat s
#! /usr/bin/nawk -f

BEGIN {
if (ARGC < 3) {
  printf "usage: %s line_number1 [line_number2 line_number3 ...] filename1 [filename2 ...]\n", ARGV[0]
  exit 255
  }
gsub(/  */, "|", ARGV[1])
lines_to_remove = "^(" ARGV[1] ")$"
ARGV[1]=""
}

!(FNR ~ lines_to_remove)

Use nawk or /usr/xpg4/bin/awk on Solaris.
# 6  
Old 05-21-2008
Simply use the following,

sed -e '1 d' -e '5 d' abc.txt > new_file
# 7  
Old 05-22-2008
Thanks a lot

Dear All,

Thanks a Lot to all ur replies. Esp. to Mr.radoulov. It really worked.

Thanks & Regards
Naree
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