🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.misc.discuss
Article #2150

A very simple question on SED or AWK for a GURU, possibly a lisp script or emacs batch processing of many files

#2150
From: gnuist006
Date: Tue, 14 Jan 2003 00:03
48 lines
2638 bytes
Here is the type of lines I have in a file:

junk  label="junk1/junk2/junk3/.../junkn/" more junk

I want to find every line that has

label="..."

pattern

and then I want to replace every / by _ inside the
quotes.

For the purposes of continuity, I want the script to look like this:

cat file |
sed commands |
awk commands |

etc.

I do not care if it all sed or awk or in what order.

Note that the junk is usually alphanumeric with dots etc but no slashes.
So it can be represented by [^/]* if / is considered non-special otherwise
escape it. There may be other /'s on the line outside the pattern 
the double quotes starting with label= and they must not be changed.

This problem can be described as making changes to a pattern matching a
regexp. It is not the problem of making changes to a pattern in the whole
line contaning a regexp. That is what is making it difficult for me.
The other reason is that I do not have a definite number of slashes in
the pattern in the single quote otherwise I would use the tagged expression.

I hope you to enjoy this problem. I put on the net only after wrestling it
with some.

gnuist.

BTW, I can do this kind of operation inside emacs. However, I do not know
how to write an lisp script. Or how to automatically load 100s or files
one after another in emacs, run a function on them and then store their
output to another file. Then close these buffers and go to the next file.
I would like as many approaches to this problem as possible, ie
sed
awk
lisp script
lisp in emacs
Technical Details
Message-ID: <b00bb831.0301131603.34e9704c@posting.google.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f4fd2,1e8c4b23af1e4636,start
X-Google-Attributes: gidf4fd2,public
X-Google-Thread: 103b8b,1e8c4b23af1e4636,start
X-Google-Attributes: gid103b8b,public
X-Google-Thread: 1025b4,1e8c4b23af1e4636,start
X-Google-Attributes: gid1025b4,public
X-Google-ArrivalTime: 2003-01-13 16:03:16 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mail
From: gnuist006@hotmail.com (gnuist006)
Newsgroups: gnu.misc.discuss,comp.lang.lisp,gnu.emacs.help
Subject: A very simple question on SED or AWK for a GURU, possibly a lisp script or emacs batch processing of many files
Date: 13 Jan 2003 16:03:15 -0800
Organization: http://groups.google.com/
Lines: 48
Message-ID: <b00bb831.0301131603.34e9704c@posting.google.com>
NNTP-Posting-Host: 209.178.176.95
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1042502596 32065 127.0.0.1 (14 Jan 2003 00:03:16 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: 14 Jan 2003 00:03:16 GMT