Deleting Junks at the end of each line in a file


 
Thread Tools Search this Thread
Special Forums UNIX Desktop Questions & Answers Deleting Junks at the end of each line in a file
# 1  
Old 10-04-2007
Error Deleting Junks at the end of each line in a file

Is there any way to delete the Junk Characters(Invalid Characters like ^,',",),(,&,# etc.,) at the end of each record in a file?

I want to do this using a single line script.

Thanks to all in advance!!!
# 2  
Old 10-04-2007
Define "junk"

Define "record"

Define "single line script", is back-slash allowed? What about the interpretor indicator in the first line? Does it have to fit in 131, 79 or 65 characters?

Are there any other nefarious restrictions, like can't use sed or awk?
# 3  
Old 10-04-2007
Single line Script - You can use any commands but i dont want for loop,if loop,while loop etc.,I want a simple script.

Record - Am calling Each line in a file as record

Junk - As I said unwanted characters including backslash

Ex:
"401","1G1AL55F377159935 ",30482,"MD","3","09/17/2007",9000 -Valid record
"401","1G1AL55F377159935 ",30482,"MD","3","09/17/2007",9000[ - invalid
"401","1G1AL55F377159935 ",30482,"MD","3","09/17/2007",9000; - invalid
"401","1G1ZT58N47F140841 ",29098,"MD","3","09/17/2007",10600'" - invalid
"401","1G1ZT68N57F138781 ",27403,"GA","1","09/17/2007",10100' - invalid
"401","1G4HD57227U217222 ",7163,"MI","3","09/17/2007",21600: - invalid

You can certainly use awk or sed!!
Thanks!Smilie
# 4  
Old 10-04-2007
Quote:
Originally Posted by dave_nithis
Junk - As I said unwanted characters including backslash
We don't know what you don't want, do you mean all non numeric characters?

Is it always a single character at the end?
# 5  
Old 10-04-2007
As I'm not into awk, here is something else...

Code:
#include <stdio.h>
#include <string.h>

static int is_junk(c)
int c;
{
	if ((c >= '0')&&(c <='9')) return 0;
	return 1;
}

int main()
{
char buf[4096];

	while (fgets(buf,sizeof(buf),stdin))
	{
		int i=strlen(buf);
		while (i--)
		{
			if ((buf[i]=='\n')||is_junk(buf[i]))
			{
				buf[i]=0;
			}
			else
			{
				break;
			}
		}
		printf("%s\n",buf);
	}

	return 0;
}

# 6  
Old 10-05-2007
try this
Code:
awk 'BEGIN{OFS=FS=","}{$NF=$NF+0}1' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Printing string from last field of the nth line of file to start (or end) of each line (awk I think)

My file (the output of an experiment) starts off looking like this, _____________________________________________________________ Subjects incorporated to date: 001 Data file started on machine PKSHS260-05CP ********************************************************************** Subject 1,... (9 Replies)
Discussion started by: samonl
9 Replies

2. Shell Programming and Scripting

With script bash, read file line per line starting at the end

Hello, I'm works on Ubuntu server My goal : I would like to read file line per line, but i want to started at the end of file. Currently, I use instructions : while read line; do COMMAND done < /var/log/apache2/access.log But, the first line, i don't want this. The file is long... (5 Replies)
Discussion started by: Fuziion
5 Replies

3. Shell Programming and Scripting

Adding tab/new line at the end of each line of a file

Hello Everyone, I need a help from experts of this community regarding one of the issue that I am facing with shell scripting. My requirement is to append char's at the end of each line of a file. The char that will be appended is variable and will be passed through command line. The... (20 Replies)
Discussion started by: Sourav Das
20 Replies

4. Shell Programming and Scripting

deleting the part of the file(overwrite) using start and end point

here is the contents of bigfile.sql CREATE TABLE `Table11` ( `id` int(11) NOT NULL , `entityName` enum('Lines','EndUsers') COLLATE utf8_unicode_ci NOT NULL, `parentAllianceMigrationProjectId` varchar(255) NOT NULL ) ENGINE=InnoDB AUTO_INCREMENT=2000 DEFAULT CHARSET=utf8... (30 Replies)
Discussion started by: vivek d r
30 Replies

5. Shell Programming and Scripting

deleting blank lines ONLY at the end of the file

Hi Guys, I have a quetion which was already discussed in the forum, but for some reason all approches suggested fail for me. I have a file which have blank lines at the body of the text as well as at the end. I need to delete ONLY blank lines at the end. Unfortunatly the approach below does not... (5 Replies)
Discussion started by: aoussenko
5 Replies

6. Shell Programming and Scripting

deleting the lines at the end of the file.

I have a text file with two coulmn first column is just used in to show the line number, these line number are not there in the real file. I want to delete the line 16(in this file) here, even tough there is no data inside it . this empty line is causing me a problem by throwing me garbage... (12 Replies)
Discussion started by: shashi792
12 Replies

7. UNIX for Dummies Questions & Answers

deleting word from this point to end of file in VI

Hi All i need to delete a recurring word from point "n" till end of the file. there are other words in this file so i cannot use `dG`, can anyone help me out? Kind regards Brian (4 Replies)
Discussion started by: brian112
4 Replies

8. UNIX for Advanced & Expert Users

Deleting end of line $ character in file

Hi, I've got a file where in the middle of the record is a $ end of line character, visible only when I open the file in vi and do :set list. How to I get rid of the character in the middle and keep it at the end. The middle $ character always appears after SW, so that can be used to tag it.... (3 Replies)
Discussion started by: bwrynz1
3 Replies

9. Shell Programming and Scripting

Deleting end line spaces for along file

How can i clear all space characteres for a long file at the end of each line? (3 Replies)
Discussion started by: osymad
3 Replies

10. UNIX for Advanced & Expert Users

Deleting UNIX End of Line Chachracter \000

Hi, I have this file which has some octal NULL characters (\000). I need to replace these characters with an ASCII NULL. I've tried using Perl, the UNIX tr command.. History of this I received a COBOL generated file, ran the od command to convert to a xxx byte per record file. Now,... (3 Replies)
Discussion started by: uchachra
3 Replies
Login or Register to Ask a Question