Delete a single record from a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Delete a single record from a file
# 1  
Old 11-05-2008
Delete a single record from a file

Hello all,

Is there a function for deleting a single record from a file?

Thanks in advance...
# 2  
Old 11-05-2008
Yes. How do you decide which record to delete?
# 3  
Old 11-05-2008
I use the lseek() function prior to deletion...
# 4  
Old 11-05-2008
Okay. Then there is no way to delete a single record in C. You have to read all the records, print the records to a tempfile (do not print the one you want to delete), then rename the tempfile. This deletes a line from a file, with no error checking.
usage: prog filename line_to_delete -- e.g., prog somefile 32
Code:
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv)
{
  FILE *in=fopen(argv[1], "r");
  FILE *out=fopen("tmp.tmp", "w");
  int skipme=atoi(argv[2]);
  char tmp[256]={0x0};
  int i=1;
  
  while(fgets(tmp, sizeof(tmp), in)!=NULL)
  {
  	if(i++!=skipme) fprintf(out, "%s", tmp);
  }
  fclose(in);
  fclose(out);
  rename("tmp.tmp", argv[1]);
  
  return 0;
}

# 5  
Old 11-05-2008
Thank You

very much...!!!
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete last 2 fields from every record in a file

Sample file record : "20130617003","2013-06-18T07:00:03","OUTWARD","01001011","TEST PLC","","HFX834346364364","20130617","10","DUM87534758","","1.28","826","020201","65879278","","","","","","010101","56789","DUMMY... (3 Replies)
Discussion started by: bigbuk
3 Replies

2. UNIX for Dummies Questions & Answers

Delete a record in a xml file using shell scripting

find pattern, delete line with pattern and 3 lines above and 8 lines below the pattern. The pattern is "isup". The entire record with starting tag <record> and ending tag </record> containing the pattern is to be deleted and the rest to be retained. <record> ... (4 Replies)
Discussion started by: sdesstp
4 Replies

3. Shell Programming and Scripting

delete text from each record in a file

Hi guys, I have been given a small task to do and I am stuck already. I have to format a file with people's emails address in it ready for pasting into the BCC section of an email. The file looks like this:- bob@ibm.com SMTP BOB SMITH text text text sue@icl.org SMTP Susy Smith text text... (8 Replies)
Discussion started by: joe_evans
8 Replies

4. Shell Programming and Scripting

Need unix commands to delete records from one file if the same record present in another file...

Need unix commands to delete records from one file if the same record present in another file... just like join ... if the record present in both files.. delete from first file or delete the particular record and write the unmatched records to new file.. tried with grep and while... (6 Replies)
Discussion started by: msathees
6 Replies

5. Shell Programming and Scripting

How to delete 1 record in large file!

Hi All, I'm a newbie here, I'm just wondering on how to delete a single record in a large file in unix. ex. file1.txt is 1000 records nikki1 nikki2 nikki3 what i want to do is delete the nikki2 record in file1.txt. is it possible? Please advise, Thanks, (3 Replies)
Discussion started by: nikki1200
3 Replies

6. Shell Programming and Scripting

Need help splitting huge single record file

I was given a data file that I need to split into multiple lines/records based on a key word. The problem is that it is 2.5GB or bigger and everything I try in perl or sed causes a Segmentation fault. Can someone give me some other ideas. The data is of the form:... (5 Replies)
Discussion started by: leolson
5 Replies

7. Shell Programming and Scripting

Multiple lines in a single column to be merged as a single line for a record

Hi, I have a requirement with, No~Dt~Notes 1~2011/08/1~"aaa bbb ccc ddd eee fff ggg hhh" Single column alone got splitted into multiple lines. I require the output as No~Dt~Notes 1~2011/08/1~"aaa<>bbb<>ccc<>ddd<>eee<>fff<>ggg<>hhh" mean to say those new lines to be... (1 Reply)
Discussion started by: Bhuvaneswari
1 Replies

8. Shell Programming and Scripting

How to delete first record from all the file?

hi All, need help...!! I want to delete header record from all the files in current directory. using sed command i can delete first record from a file but i want to delete first record from all the files so can anybosy help me how can i do this? I will appreciate your help. (3 Replies)
Discussion started by: NirajThakar
3 Replies

9. Shell Programming and Scripting

how to delete record in file data with index in another file?

I want to deal with several data, i.e., data.*.txt with following structure MSG|20010102|123 125 4562 409|SEND MSG|20010102|120 230|SEND MSG|20010102|120 204 5071|SEND MSG|20010103|2 11 1098 9810|SEND ...... index file index.txt is 11 201 298 100 ...... What I want to do is: 1)... (0 Replies)
Discussion started by: zhynxn
0 Replies

10. UNIX for Dummies Questions & Answers

How to delete a record from a csv file

Hi Guys I have downloaded a table from oracle database in .csv format. it has many fields as Title, First Name, Last Name etc. I have to download distinct titles from database and now i have to check all those titles from data of First Name one by one. and then i have to delete matched record.... (1 Reply)
Discussion started by: Rajeev Agrawal
1 Replies
Login or Register to Ask a Question