Sed pattern help - not FreeBSD related
Dr. Nikolaus Klepp
dr.klepp at gmx.at
Tue Aug 25 23:26:01 UTC 2020
Anno domini 2020 Tue, 25 Aug 18:05:45 -0500
Tim Daneliuk scripsit:
> On 8/25/20 5:44 PM, Tim Daneliuk wrote:
> > On 8/25/20 4:02 PM, Christoph Kukulies wrote:
> >> Excuses, the result should look like: (forgot the DC)
> >>
> >>> LOOP: DC LOOP+2
> >>> DO: DC DO+2
> >>> J: DC J+2
> >>> ENCL: DC ENCL+2 PDP-11 VERSION OF ENCLOSE
> >>> KEY DC KEY+2
> >>> EMIT DC EMIT+2
> >>> QTERM DC QTERM+2
> >
> > Here is a one-liner using sed and awk. It suffers from two deficiencies:
> >
> > - It does not handle arbitrarily long comments
> > - It's really ugly
> >
> > sed s/':'//g < myfile | awk '{print $1":", $2, $1"+2", $4, $5, $6, $7, $8, $9. $10}'
> >
>
>
> Oops, not quite right because it inserts colons blindly in the first field -
> which appears not what you want. More correct implementation in Python:
>
> !/usr/bin/env python
>
> import sys
>
> for line in sys.stdin.readlines():
>
> line = line.strip().split()
> label = line[0]
> comment = " ".join(line[3:])
> print("%s DC %s+2 %s" %(label, label.replace(':', ''), comment))
>
>
>
sed 's#^\([^ \t]*\)\([^*]*\)[*]#\1\2\1#' <el2
nik
--
Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ...
More information about the freebsd-questions
mailing list