Using sed or awk?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using sed or awk?
# 8  
Old 10-06-2010
sed 's/\(.*\),/\1it/'

My sed may not always be as terse as the awk from awk gurus, but you might figure out what it does and how it does it more easily. The wild card .* is a greedy spring anchored by the last comma it has to precede. The substring grabber \(\) lets you put the fron of the line back as \1. The end of the line floats after it.

The opposite way is this:

sed 's/,\([^,]*\)$/\1/'

It puts a spring at end of line that captures all not comma characters. This sort of not X wildcard is very useful, as it stops short of the next sort of thing. To me, the charm of sed is the reuse and generality of the tools. I tends to perform faster, too.

Last edited by DGPickett; 10-06-2010 at 10:44 PM..
This User Gave Thanks to DGPickett For This Post:
# 9  
Old 10-06-2010
Hi, DGPickett, you probably mean:
Code:
sed 's/\(.*\),/\1 it /'

nice.
This User Gave Thanks to Scrutinizer For This Post:
# 10  
Old 10-06-2010
Oh, he wanted spaces, well, some enhancements are left to the student! I guess our look and post cycles crossed, so like a pair of bad script processes! Smilie
This User Gave Thanks to DGPickett For This Post:
# 11  
Old 10-06-2010
Hi, I meant the closing / actually Smilie. Have you discovered the "[code] tags" button already?
This User Gave Thanks to Scrutinizer For This Post:
# 12  
Old 10-06-2010
Yes, but sometimes it is so trivial that I skip it. The source gets ugly and the output grows linefeeds or boxes. There, the dot there was a miss for the slash; revisionist history!

---------- Post updated at 09:48 PM ---------- Previous update was at 09:43 PM ----------

I started regex with MULTICS qedx in 1969, often on a printing 300 baud terminal, and then Waterloo Fred under GCOS TSS, before I first saw UNIX in 1990.

Last edited by DGPickett; 10-07-2010 at 09:45 AM..
# 13  
Old 10-06-2010
I am starting to like sed more and more by the minute :P
# 14  
Old 10-07-2010
Pipes and sed means never having to say "sorry about using all the temp disk space", "the file is too large for my editor" or "please remove your temp file from testing so I can write one", not to mention "what are all these CPUs for?" or "It is not done yet, so I do not know what the output will look like."

Modern sed implementations have no buffer limit, so I have taken whole pages and swapped the line feeds and form feeds back and forth using tr, so I could put pages into insert statements and then into a command line database tool.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed and awk giving error ./sample.sh: line 13: sed: command not found

Hi, I am running a script sample.sh in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :- ./sample.sh: line... (12 Replies)
Discussion started by: satishmallidi
12 Replies

2. Shell Programming and Scripting

Is this possible using SED and AWK?

Dear Geeks, I want to manipulate a file with certain modifications for that using sed or AWK how to do this process for one file i have this type of data. Input File: "Restricted and Reserved names .ANISH",3798,"TEST.CO",1201208,6/16/10 0:00,6/16/13 0:00,,,"CO","2nd"^M "Restricted and... (4 Replies)
Discussion started by: anishkumarv
4 Replies

3. UNIX for Dummies Questions & Answers

sed/awk or help please

I have a file that contain the data below: B1 1 2 3 B2 20 30 40 B3 7 8 B4 100 B5 21 22 23How can I retrieve the data for B1 into a seperate file. (8 Replies)
Discussion started by: bobo
8 Replies

4. Shell Programming and Scripting

Need help using awk or sed.

Hi All, Is there a way of comparing two columns in the same file and deleting the row if the values of the columns match. I have the sample data file as below. M024900|175309.00|968.00|17 M025001|19861.79|97.90|148 M025002|431.70|159.00|3 M025003|912.30|159.90|6 ... (6 Replies)
Discussion started by: nua7
6 Replies

5. UNIX for Dummies Questions & Answers

sed or awk?

I've got an inventory database with eight columns with things like product name, manufacturer, UPC code, etc. on each line. Our PO (purchase order) number is in the first column. I can grep the date and get the full line of data but I would like to strip out everything but the PO number in the... (5 Replies)
Discussion started by: NetJones
5 Replies

6. UNIX for Advanced & Expert Users

Awk or Sed help

Hi, I have a data file with 5 columns - like this: "20080401 09:43:08.770798 +0100s","TEST 1","R 1","A TEST","Nov 27 2007","1" "20080401 09:43:08.770798 +0100s","THIS IS A TEST","R 2","B TEST","Nov 30 2007","10" "20080401 09:43:08.770798 +0100s","ANOTHER TEST","R 3","B TEST","Nov 05... (7 Replies)
Discussion started by: MrG-San
7 Replies

7. UNIX for Advanced & Expert Users

sed in awk ? or nested awk ?

Hey all, Can I put sed command inside the awk action ?? If not then can i do grep in the awk action ?? For ex: awk '$1=="174" { ppid=($2) ; sed -n '/$ppid/p' tempfind.txt ; }' tempfind.txt Assume: 174 is string. Assume: tempfind.txt is used for awk and sed both. tempfind.txt... (11 Replies)
Discussion started by: varungupta
11 Replies

8. Shell Programming and Scripting

sed in awk

Hi there, I'm trying to process a comma delimited file to remove the seconds: 916901,0,488589834,TRADE,Trade, ,2002-07-2510:14:43.387,CITI.MW,970847, , , ,808.0,2526.0,0.0,0.0,-1 So basically the .*** from the 7th field Any help appreciated Jon (4 Replies)
Discussion started by: orange_one
4 Replies

9. Shell Programming and Scripting

sed,awk

Hi, I know sed is stream text editor and not a bit more than that. Can anyone explain its usage and advantages? How is awk different from sed? I donno i am a bit confused about it. But i have coded in awk and shell. Thanks, Nisha :confused: (7 Replies)
Discussion started by: Nisha
7 Replies

10. Shell Programming and Scripting

awk / sed

I have many messages such as the test message below: 00:00000:00021:2002/05/13 13:57:00.51 ERROR:- Test error, my test error!!! I am writing a script in which I need to get everything from the word "ERROR:-" onwards. I normally use awk for these things, but I am not an expert at it so i am... (6 Replies)
Discussion started by: baileyr1
6 Replies
Login or Register to Ask a Question