Delete lines in a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Delete lines in a file
# 1  
Old 04-03-2013
Delete lines in a file

Hi

This is a sample of my data file.

Code:
##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"
WWW278545G0240  P.he_model_v1.0     RA    119238  121805  .       -       .       ID=PH01000000G0240.mRNA;Parent=PH01000000G0240
WWW278545G0240  P.he_model_v1.0     NGS     120721  121773  .       -       .       ID=PH01000000G0240.CDS;Parent=PH01000000G0240

#PH01000000G0250
WWW278545G0250  P.he_model_v1.0     erine    125260  126544  .       -       .       ID=PH01000000G0250;Description="FERONIA receptor-like kinase, putative, expressed"
WWW278545G0250  P.he_model_v1.0     RA    125260  126544  .       -       .       ID=PH01000000G0250.mRNA;Parent=PH01000000G0250
WWW278545G0250  P.he_model_v1.0     NGS    125971  126544  .       -       .       ID=PH01000000G0250.CDS;Parent=PH01000000G0250

#PH01000000G0290
WWW278545G0290  P.he_model_v1.0     erine    151334  153926  .       +       .       ID=PH01000000G0290;Description="DUF581 domain containing protein, expressed"
WWW278545G0290  P.he_model_v1.0     RA    151334  153926  .       +       .       ID=PH01000000G0290.mRNA;Parent=PH01000000G0290

I want to use some basic vi command or any comand to delete all those lines whose third column entry is RA or NGS.

I want to retain only those lines whos 3rd column is erine.

Is this possible?

Thanks

Last edited by Scrutinizer; 04-13-2013 at 12:55 PM.. Reason: code tags
# 2  
Old 04-03-2013
Please use code tags as required by forum rules!

If it has to be the third column, grep erinealone would not do. Try
Code:
awk '$3=="erine" {print}' file

Should you want the entire file, incl. headers and empty lines, but RA and NGS removed, try
Code:
awk '$3 ~ /RA|NGS/ {next}' file

This User Gave Thanks to RudiC For This Post:
# 3  
Old 04-03-2013
Or, using grep:
Code:
$ grep "^[^ ]\+ [^ ]\+ erine " temp.x
WWW278545G0240 P.he_model_v1.0 erine 119238 121805 . - . ID=PH01000000G0240;Description="zinc finger, C3HC4 type domain containing protein, expressed"
WWW278545G0250 P.he_model_v1.0 erine 125260 126544 . - . ID=PH01000000G0250;Description="FERONIA receptor-like kinase, putative, expressed"
WWW278545G0290 P.he_model_v1.0 erine 151334 153926 . + . ID=PH01000000G0290;Description="DUF581 domain containing protein, expressed"

And see how great it looks with those code tags! Smilie
This User Gave Thanks to hanson44 For This Post:
# 4  
Old 04-07-2013
Awesome~~
THANKSSmilieSmilie
# 5  
Old 04-12-2013
Hi Rudic,
I used this command
Code:
awk '$3 ~ /RA|NGS/ {next}' file > newfile

but it gave me th new file of 0 data. Is it becoz there is an occurance of RA and NGS at a position other than 3rd column?

Sorry i didnt add this section of the orginial file earlier.

Code:
WWW278545G0250 P.he_model_v1.0 erine 125260 126544 . - . ID=PH01000000G0250;Description="FERONIA receptor-like kinase, putative, expressed"
WWW278545G0250 P.he_model_v1.0 RA 125260 126544 . - . ID=PH01000000G0250.RA;Parent=PH01000000G0250
WWW278545G0250 P.he_model_v1.0 NGS 125971 126544 . - . ID=PH01000000G0250.NGS;Parent=PH01000000G0250

Is there a way to keep all the lines of the original except those having $3 as RA and NGS?

Thanks

---------- Post updated at 12:34 PM ---------- Previous update was at 12:29 PM ----------

the first code did remove the required entries but it deleted all other entries as well so had to revert back to second option but it didnt work for me..
I couldnt figure out why it didnt work SmilieSmilie

Last edited by Scrutinizer; 04-13-2013 at 12:56 PM.. Reason: code tags
# 6  
Old 04-12-2013
Hello there,

I'm totally new using a program and the default script is generating a error.
it's the script#!/bin/sh
#
# Path to packmol executable (change it if you want,
# a blank line suposes that it is in the path):
#
path=
export OMP_NUM_THREADS=$1
ulimit -s unlimited
if [ "$path" \> " " ]; then
$path/packmol < $2
else
packmol < $2
fi


and the error say line 12: $2: ambiguous redirect
i dont understand
can you help me?
regards

Moderator's Comments:
Mod Comment Please start a new thread for this..

Last edited by Scrutinizer; 04-13-2013 at 09:56 AM..
# 7  
Old 04-13-2013
RudiC and Sonia102,
In this case awk needs a {print} at the end.

Last edited by MadeInGermany; 04-13-2013 at 08:11 AM..
 
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 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

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

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

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

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

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

9. Shell Programming and Scripting

how can I delete lines without actually going into the file

what am trying to do is delete a line in a specific file but I dont know what to do. I cant use the sed or awk commands because these commands dont really alter the original file. they only alter what they display on the screen by the way, am trying to do this from a script so if anybody can... (5 Replies)
Discussion started by: TRUEST
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