sed to remove


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed to remove
# 8  
Old 05-17-2010
Code:
awk '$2==650{sub(/[034]$/,"")}1' infile

# 9  
Old 05-17-2010
Really nice...simple code.
Thank you very much !!!!

Have a nice evening !

Cheers
# 10  
Old 05-17-2010
Quote:
Originally Posted by Scrutinizer
This would work too:
Code:
sed '/650/s/0$//' infile

But sed is less precise in this case than awk, since 650 can be anywhere on the line and not necessarily in the second column.
Quote:
Originally Posted by pseudocoder
This one is pretty "dangerous", since it will remove the trailing zero from _any_ line with 650 _anywhere_ in it. Smilie
Code:
 
sed 's/^\(000000001 650   L $$a.*\)0$/\1/' file



---------- Post updated at 10:43 PM ---------- Previous update was at 10:41 PM ----------

Quote:
Originally Posted by ldiaz2106
Hello
Good thanks a lot.
I see that I have some rows with "3" or "4" at the end...
No only "0", is it possible to tell script to remove all the 0 or 3 or 4 ?

Thanks a lot in advance
Code:
sed 's/^\(000000001 650   L $$a.*\)[0-9]$/\1/' file

Only 0 or 3 or 4

Code:
sed 's/^\(000000001 650   L $$a.*\)[034]$/\1/' problem

# 11  
Old 05-17-2010
It's complicated to put the 00000001 in the patern,
because it's a incremental ID...Each record have a different ID...From 0000001 to 0034800

Thanks
# 12  
Old 05-17-2010
Quote:
Originally Posted by ldiaz2106
It's complicated to put the 00000001 in the patern,
because it's a incremental ID...Each record have a different ID...From 0000001 to 0034800

Thanks
Code:
[root@rhnserver ~]# cat myfilex
000000001 LDR   L ^^^^^nam^^2200325Iia^45e0
000000001 022   L $$a0081-3397
000000001 041   L $$aSPA
000000001 088   L $$aJ.E.N. 551
000000001 090   L $$aINFORMES JEN
000000001 100   L $$aROMERO, L.
000000001 650   L $$aGeneral y miscelánea2
000000001 650   L $$aGeneral and miscellaneus4
000000001 FMT   L BK

042347239 650   L $$aGeneral y miscelánea0
076542342 650   L $$aGeneral y miscelánea3
007657657 650   L $$aGeneral y miscelánea5
007657000 650   L $$aGeneral y miscelánea6
000080090 650   L $$aGeneral y miscelánea3
007008000 650   L $$aGeneral y miscelánea4
000002000 650   L $$aGeneral y miscelánea5
000200400 650   L $$aGeneral y miscelánea2
010030096 650   L $$aGeneral y miscelánea8
000037080 650   L $$aGeneral y miscelánea9
000006000 650   L $$aGeneral y miscelánea7

Code:
# sed -e 's/^\([0-9]* 650   L $$a.*\)[034]$/\1/' myfilex
000000001 LDR   L ^^^^^nam^^2200325Iia^45e0
000000001 022   L $$a0081-3397
000000001 041   L $$aSPA
000000001 088   L $$aJ.E.N. 551
000000001 090   L $$aINFORMES JEN
000000001 100   L $$aROMERO, L.
000000001 650   L $$aGeneral y miscelánea2
000000001 650   L $$aGeneral and miscellaneus
000000001 FMT   L BK

042347239 650   L $$aGeneral y miscelánea
076542342 650   L $$aGeneral y miscelánea
007657657 650   L $$aGeneral y miscelánea5
007657000 650   L $$aGeneral y miscelánea6
000080090 650   L $$aGeneral y miscelánea
007008000 650   L $$aGeneral y miscelánea
000002000 650   L $$aGeneral y miscelánea5
000200400 650   L $$aGeneral y miscelánea2
010030096 650   L $$aGeneral y miscelánea8
000037080 650   L $$aGeneral y miscelánea9
000006000 650   L $$aGeneral y miscelánea7

# 13  
Old 05-17-2010
The file could also contain tab characters so a sed solution would need to test for that, e.g.
Code:
sed '/^[0-9]\{9\}[ \t]650[ \t]/s/[034]$//' infile

But since it appears to contain fixed length records and fields, this might work too:
Code:
sed '/^.\{10\}650/s/[034]$//' infile


Last edited by Scrutinizer; 05-17-2010 at 05:04 PM..
# 14  
Old 05-17-2010
Bug

or Smilie

Code:
sed '/^[0-9]\{9\} 650/ s/[034]$//' myfile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Remove space with sed

Hello Folks , myfile contains 1000000 records as follows: logver=56 idseq=63256 itime=1111 devid=TG-40 devname=PUI-C2 vd=USER date=2019_01_10 time=18:39:49 logid="000013" type="traffic" subtype="forward" level="notice" eventtime=134 srcip=1.1.1.1 srcport=1 srcintf="XYX-CORE.01"... (3 Replies)
Discussion started by: arm
3 Replies

2. Shell Programming and Scripting

sed remove everything between two string

Hi all, I have this input: "203324780",,"89321213261247090146","VfdsD150","0D","fd3221","V0343","aaa","Direkt","fsa","2015.02.27","39833,54454,21214",,,"fd","NORMAL","D","10fd","1243 Flotta","HiĂĄnytalan","2013.02.25",,"2013.02.25","2013.02.24","2013.02.28",,"SajĂĄt... (4 Replies)
Discussion started by: snayper
4 Replies

3. UNIX for Dummies Questions & Answers

How to remove certain lines using sed?

Hi I have the following kind of line sin my file . print ' this is first'. print ' this is firs and next ' ' line continuous '. -- this is entire print line. print ' this is first and next ' ' line continuous and' 'still there now over'. -- this 3lines together a single print line. ... (5 Replies)
Discussion started by: Sivajee
5 Replies

4. Shell Programming and Scripting

Need to remove a character using sed

Hi All, I have output like this below ldprod/03 ldprod/02 ldprod/01 ldprod/00 ldnprod/ ldnprod/030 I want only remove all character including / ldprod ldprod ldprod ldprod ldprod ldnprod (8 Replies)
Discussion started by: ranjancom2000
8 Replies

5. Shell Programming and Scripting

Remove the Characters '[' and ']' with Sed

Hi, I am new to Sed and would like to know if it is possible to remove the characters . I have a couple of files with a keyword and would like to remove the substring. I am Using sed s/// but Its not working Thanks for your Support Andrew Borg (2 Replies)
Discussion started by: andrewborg
2 Replies

6. Shell Programming and Scripting

using sed to remove lines

Can somebody explain why my sed command is not working. I do the folloinwg: Generates a binary file to /tmp/x1.out /usr/lib/sa/sa2 -s 4:00 -e 8:00 -i 3600 -A -o /tmp/x1.out decodes the file (no problem so far) sar -f /tmp/x1.out When I do this it does not appear to delete the... (4 Replies)
Discussion started by: BeefStu
4 Replies

7. Shell Programming and Scripting

sed over writes my original file (using sed to remove leading spaces)

Hello and thx for reading this I'm using sed to remove only the leading spaces in a file bash-280R# cat foofile some text some text some text some text some text bash-280R# bash-280R# sed 's/^ *//' foofile > foofile.use bash-280R# cat foofile.use some text some text some text... (6 Replies)
Discussion started by: laser
6 Replies

8. Shell Programming and Scripting

sed to remove character ['

I have a huge file where the each column has data in the format: . I want to remove the from each value. How do I do it with sed? thanks (2 Replies)
Discussion started by: manishabh
2 Replies

9. Shell Programming and Scripting

sed remove

anyone out there knows how to remove pattern <random string> use sed? (6 Replies)
Discussion started by: jamwong
6 Replies

10. Shell Programming and Scripting

how to remove ^@ from a file using sed...or anything

i tried the following:- sed -e file 's/^@//g' > temp also tried sed -e file 's///g' > temp nothing happened....can someone please tell me wht is wrong??? also someinformation abt the character "^@"(it is ONLY ONE character and NOT TWO characters) thanx in advance.. (13 Replies)
Discussion started by: sayonm
13 Replies
Login or Register to Ask a Question