From c6716b56fa87f289520f990686f8c7eab47b495f Mon Sep 17 00:00:00 2001 From: jlam Date: Fri, 27 Aug 2004 03:45:08 +0000 Subject: Simplify the import structure by keeping the "sed" name, and using the configure script's --program-transform-name to install as "nbsed". Also add a cat-ready nbsed.0 file. --- textproc/nbsed/Makefile | 22 +- textproc/nbsed/PLIST | 3 +- textproc/nbsed/files/Makefile.in | 30 ++- textproc/nbsed/files/configure | 20 +- textproc/nbsed/files/configure.ac | 4 +- textproc/nbsed/files/nbsed.1 | 514 -------------------------------------- textproc/nbsed/files/sed.1 | 514 ++++++++++++++++++++++++++++++++++++++ textproc/nbsed/files/sed.cat1 | 326 ++++++++++++++++++++++++ textproc/nbsed/files/sed2nbcompat | 13 +- 9 files changed, 888 insertions(+), 558 deletions(-) delete mode 100644 textproc/nbsed/files/nbsed.1 create mode 100644 textproc/nbsed/files/sed.1 create mode 100644 textproc/nbsed/files/sed.cat1 (limited to 'textproc') diff --git a/textproc/nbsed/Makefile b/textproc/nbsed/Makefile index aa2062fc9d3..b67dbcffe10 100644 --- a/textproc/nbsed/Makefile +++ b/textproc/nbsed/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.8 2004/08/21 08:39:54 jlam Exp $ +# $NetBSD: Makefile,v 1.9 2004/08/27 03:45:08 jlam Exp $ DISTNAME= nbsed-20040821 CATEGORIES= textproc pkgtools @@ -9,12 +9,20 @@ MAINTAINER= tech-pkg@NetBSD.org HOMEPAGE= http://www.NetBSD.org/ COMMENT= NetBSD-current's sed(1) -NO_CHECKSUM= # defined -GNU_CONFIGURE= # defined +USE_BUILDLINK3= yes +NO_CHECKSUM= yes +GNU_CONFIGURE= yes +CONFIGURE_ARGS+= --program-transform-name="s,sed,nbsed," -post-extract: - ${MKDIR} ${WRKSRC} - cd ${FILESDIR} && ${PAX} -rwpe . ${WRKSRC} +.include "../../mk/bsd.prefs.mk" + +.if defined(LIBNBCOMPAT_STYLE) && (${LIBNBCOMPAT_STYLE} == "inplace") +. include "../../pkgtools/libnbcompat/inplace.mk" +.else +. include "../../pkgtools/libnbcompat/buildlink3.mk" +.endif + +do-extract: + @${CP} -Rp ${FILESDIR} ${WRKSRC} -.include "../../pkgtools/libnbcompat/inplace.mk" .include "../../mk/bsd.pkg.mk" diff --git a/textproc/nbsed/PLIST b/textproc/nbsed/PLIST index 2bd23ed3f71..1ddd55e12f3 100644 --- a/textproc/nbsed/PLIST +++ b/textproc/nbsed/PLIST @@ -1,3 +1,4 @@ -@comment $NetBSD: PLIST,v 1.1.1.1 2003/08/18 17:34:54 agc Exp $ +@comment $NetBSD: PLIST,v 1.2 2004/08/27 03:45:08 jlam Exp $ bin/nbsed +man/cat1/nbsed.0 man/man1/nbsed.1 diff --git a/textproc/nbsed/files/Makefile.in b/textproc/nbsed/files/Makefile.in index 1e3889a1f6d..3f301d271f6 100644 --- a/textproc/nbsed/files/Makefile.in +++ b/textproc/nbsed/files/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.3 2004/08/23 02:58:58 jlam Exp $ +# $Id: Makefile.in,v 1.4 2004/08/27 03:45:08 jlam Exp $ @SET_MAKE@ SHELL = @SHELL@ @@ -52,16 +52,16 @@ missing mkinstalldirs regress.sh .c.o: $(COMPILE) -c $< -o $@ -all: nbsed +all: sed -nbsed: $(OBJS) +sed: $(OBJS) $(LINK) $(OBJS) $(LIBS) -check: nbsed +check: sed @SHELL@ $(srcdir)/regress.sh clean: - rm -f *.o nbsed + rm -f *.o sed distclean: clean rm -f Makefile config.h @@ -70,18 +70,22 @@ distclean: clean maintainer-clean: distclean rm -f configure config.h.in -install: nbsed +install: sed $(mkinstalldirs) $(DESTDIR)$(bindir) - @f=`echo nbsed|sed '$(transform)'`; \ - echo "$(INSTALL_PROGRAM) nbsed $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM) nbsed $(DESTDIR)$(bindir)/$$f + @f=`echo sed|sed '$(transform)'`; \ + echo "$(INSTALL_PROGRAM) sed $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM) sed $(DESTDIR)$(bindir)/$$f $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 - @f=`echo nbsed.1|sed '$(transform)'`; \ - echo "$(INSTALL_DATA) nbsed.1 $(DESTDIR)$(mandir)/man1/$$f"; \ - $(INSTALL_DATA) nbsed.1 $(DESTDIR)$(mandir)/man1/$$f + @f=`echo sed.1|sed '$(transform)'`; \ + echo "$(INSTALL_DATA) sed.1 $(DESTDIR)$(mandir)/man1/$$f"; \ + $(INSTALL_DATA) sed.1 $(DESTDIR)$(mandir)/man1/$$f + $(mkinstalldirs) $(DESTDIR)$(mandir)/cat1 + @f=`echo sed.cat1|sed '$(transform);s,\.cat1$$,.0,'`; \ + echo "$(INSTALL_DATA) sed.cat1 $(DESTDIR)$(mandir)/cat1/$$f"; \ + $(INSTALL_DATA) sed.cat1 $(DESTDIR)$(mandir)/cat1/$$f uninstall: - @f=`echo nbsed|sed '$(transform)'`; \ + @f=`echo sed|sed '$(transform)'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f diff --git a/textproc/nbsed/files/configure b/textproc/nbsed/files/configure index e4ce585d6f6..8bfeeff73eb 100755 --- a/textproc/nbsed/files/configure +++ b/textproc/nbsed/files/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for nbsed 20040821. +# Generated by GNU Autoconf 2.59 for sed 20040821. # # Report bugs to . # @@ -267,10 +267,10 @@ SHELL=${CONFIG_SHELL-/bin/sh} : ${ac_max_here_lines=38} # Identity of this package. -PACKAGE_NAME='nbsed' -PACKAGE_TARNAME='nbsed' +PACKAGE_NAME='sed' +PACKAGE_TARNAME='sed' PACKAGE_VERSION='20040821' -PACKAGE_STRING='nbsed 20040821' +PACKAGE_STRING='sed 20040821' PACKAGE_BUGREPORT='agc@NetBSD.org' ac_unique_file="main.c" @@ -780,7 +780,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures nbsed 20040821 to adapt to many kinds of systems. +\`configure' configures sed 20040821 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -846,7 +846,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of nbsed 20040821:";; + short | recursive ) echo "Configuration of sed 20040821:";; esac cat <<\_ACEOF @@ -958,7 +958,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -nbsed configure 20040821 +sed configure 20040821 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -972,7 +972,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by nbsed $as_me 20040821, which was +It was created by sed $as_me 20040821, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -4973,7 +4973,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by nbsed $as_me 20040821, which was +This file was extended by sed $as_me 20040821, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5033,7 +5033,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -nbsed config.status 20040821 +sed config.status 20040821 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/textproc/nbsed/files/configure.ac b/textproc/nbsed/files/configure.ac index ff2969e9c98..c510894a0f8 100644 --- a/textproc/nbsed/files/configure.ac +++ b/textproc/nbsed/files/configure.ac @@ -1,7 +1,7 @@ -dnl $Id: configure.ac,v 1.7 2004/08/23 02:58:58 jlam Exp $ +dnl $Id: configure.ac,v 1.8 2004/08/27 03:45:08 jlam Exp $ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) -AC_INIT([nbsed],[20040821],[agc@NetBSD.org]) +AC_INIT([sed],[20040821],[agc@NetBSD.org]) AC_CONFIG_SRCDIR([main.c]) AC_CONFIG_HEADER(config.h) AC_ARG_PROGRAM diff --git a/textproc/nbsed/files/nbsed.1 b/textproc/nbsed/files/nbsed.1 deleted file mode 100644 index c073994f614..00000000000 --- a/textproc/nbsed/files/nbsed.1 +++ /dev/null @@ -1,514 +0,0 @@ -.\" $NetBSD: nbsed.1,v 1.5 2004/07/25 05:40:25 grant Exp $ -.\" -.\" Copyright (c) 1992, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" the Institute of Electrical and Electronics Engineers, Inc. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)sed.1 8.2 (Berkeley) 12/30/93 -.\" -.Dd January 4, 2004 -.Dt SED 1 -.Os -.Sh NAME -.Nm sed -.Nd stream editor -.Sh SYNOPSIS -.Nm -.Op Fl aEn -.Ar command -.Op Ar file ... -.Nm -.Op Fl aEn -.Op Fl e Ar command -.Op Fl f Ar command_file -.Op Ar file ... -.Sh DESCRIPTION -The -.Nm -utility reads the specified files, or the standard input if no files -are specified, modifying the input as specified by a list of commands. -The input is then written to the standard output. -.Pp -A single command may be specified as the first argument to -.Nm . -Multiple commands may be specified by using the -.Fl e -or -.Fl f -options. -All commands are applied to the input in the order they are specified -regardless of their origin. -.Pp -The following options are available: -.Bl -tag -width indent -.It Fl a -The files listed as parameters for the -.Dq w -functions are created (or truncated) before any processing begins, -by default. -The -.Fl a -option causes -.Nm -to delay opening each file until a command containing the related -.Dq w -function is applied to a line of input. -.It Fl E -Enables the use of extended regular expressions instead of the -usual basic regular expression syntax. -.It Fl e Ar command -Append the editing commands specified by the -.Ar command -argument -to the list of commands. -.It Fl f Ar command_file -Append the editing commands found in the file -.Ar command_file -to the list of commands. -The editing commands should each be listed on a separate line. -.It Fl n -By default, each line of input is echoed to the standard output after -all of the commands have been applied to it. -The -.Fl n -option suppresses this behavior. -.El -.Pp -The form of a -.Nm -command is as follows: -.sp -.Dl [address[,address]]function[arguments] -.sp -Whitespace may be inserted before the first address and the function -portions of the command. -.Pp -Normally, -.Nm -cyclically copies a line of input, not including its terminating newline -character, into a -.Em "pattern space" , -(unless there is something left after a -.Dq D -function), -applies all of the commands with addresses that select that pattern space, -copies the pattern space to the standard output, appending a newline, and -deletes the pattern space. -.Pp -Some of the functions use a -.Em "hold space" -to save all or part of the pattern space for subsequent retrieval. -.Sh SED ADDRESSES -An address is not required, but if specified must be a number (that counts -input lines -cumulatively across input files), a dollar -.Po -.Dq $ -.Pc -character that addresses the last line of input, or a context address -(which consists of a regular expression preceded and followed by a -delimiter). -.Pp -A command line with no addresses selects every pattern space. -.Pp -A command line with one address selects all of the pattern spaces -that match the address. -.Pp -A command line with two addresses selects the inclusive range from -the first pattern space that matches the first address through the next -pattern space that matches the second. -(If the second address is a number less than or equal to the line number -first selected, only that line is selected.) -Starting at the first line following the selected range, -.Nm -starts looking again for the first address. -.Pp -Editing commands can be applied to non-selected pattern spaces by use -of the exclamation character -.Pq Dq \&! -function. -.Sh SED REGULAR EXPRESSIONS -The -.Nm -regular expressions are basic regular expressions (BRE's, see -.Xr re_format 7 -for more information). -In addition, -.Nm -has the following two additions to BRE's: -.sp -.Bl -enum -compact -.It -In a context address, any character other than a backslash -.Po -.Dq \e -.Pc -or newline character may be used to delimit the regular expression -by prefixing the first use of that delimiter with a backslash. -Also, putting a backslash character before the delimiting character -causes the character to be treated literally. -For example, in the context address \exabc\exdefx, the RE delimiter -is an -.Dq x -and the second -.Dq x -stands for itself, so that the regular expression is -.Dq abcxdef . -.sp -.It -The escape sequence \en matches a newline character embedded in the -pattern space. -You can't, however, use a literal newline character in an address or -in the substitute command. -.El -.Pp -One special feature of -.Nm -regular expressions is that they can default to the last regular -expression used. -If a regular expression is empty, i.e. just the delimiter characters -are specified, the last regular expression encountered is used instead. -The last regular expression is defined as the last regular expression -used as part of an address or substitute command, and at run-time, not -compile-time. -For example, the command -.Dq /abc/s//XXX/ -will substitute -.Dq XXX -for the pattern -.Dq abc . -.Sh SED FUNCTIONS -In the following list of commands, the maximum number of permissible -addresses for each command is indicated by [0addr], [1addr], or [2addr], -representing zero, one, or two addresses. -.Pp -The argument -.Em text -consists of one or more lines. -To embed a newline in the text, precede it with a backslash. -Other backslashes in text are deleted and the following character -taken literally. -.Pp -The -.Dq r -and -.Dq w -functions take an optional file parameter, which should be separated -from the function letter by white space. -Each file given as an argument to -.Nm -is created (or its contents truncated) before any input processing begins. -.Pp -The -.Dq b , -.Dq r , -.Dq s , -.Dq t , -.Dq w , -.Dq y , -.Dq \&! , -and -.Dq \&: -functions all accept additional arguments. -The following synopses indicate which arguments have to be separated from -the function letters by white space characters. -.Pp -Two of the functions take a function-list. -This is a list of -.Nm -functions separated by newlines, as follows: -.Bd -literal -offset indent -{ function - function - ... - function -} -.Ed -.Pp -The -.Dq { -can be preceded by white space and can be followed by white space. -The function can be preceded by white space. -The terminating -.Dq } -must be preceded by a newline or optional white space. -.sp -.Bl -tag -width "XXXXXX" -compact -.It [2addr] function-list -Execute function-list only when the pattern space is selected. -.sp -.It [1addr]a\e -.It text -.br -Write -.Em text -to standard output immediately before each attempt to read a line of input, -whether by executing the -.Dq N -function or by beginning a new cycle. -.sp -.It [2addr]b[label] -Branch to the -.Dq \&: -function with the specified label. -If the label is not specified, branch to the end of the script. -.sp -.It [2addr]c\e -.It text -.br -Delete the pattern space. -With 0 or 1 address or at the end of a 2-address range, -.Em text -is written to the standard output. -.sp -.It [2addr]d -Delete the pattern space and start the next cycle. -.sp -.It [2addr]D -Delete the initial segment of the pattern space through the first -newline character and start the next cycle. -.sp -.It [2addr]g -Replace the contents of the pattern space with the contents of the -hold space. -.sp -.It [2addr]G -Append a newline character followed by the contents of the hold space -to the pattern space. -.sp -.It [2addr]h -Replace the contents of the hold space with the contents of the -pattern space. -.sp -.It [2addr]H -Append a newline character followed by the contents of the pattern space -to the hold space. -.sp -.It [1addr]i\e -.It text -.br -Write -.Em text -to the standard output. -.sp -.It [2addr]l -(The letter ell.) -Write the pattern space to the standard output in a visually unambiguous -form. -This form is as follows: -.sp -.Bl -tag -width "carriage-returnXX" -offset indent -compact -.It backslash -\e\e -.It alert -\ea -.It form-feed -\ef -.It newline -\en -.It carriage-return -\er -.It tab -\et -.It vertical tab -\ev -.El -.Pp -Nonprintable characters are written as three-digit octal numbers (with a -preceding backslash) for each byte in the character (most significant byte -first). -Long lines are folded, with the point of folding indicated by displaying -a backslash followed by a newline. -The end of each line is marked with a -.Dq $ . -.sp -.It [2addr]n -Write the pattern space to the standard output if the default output has -not been suppressed, and replace the pattern space with the next line of -input. (Does not begin a new cycle.) -.sp -.It [2addr]N -Append the next line of input to the pattern space, using an embedded -newline character to separate the appended material from the original -contents. -Note that the current line number changes. -.sp -.It [2addr]p -Write the pattern space to standard output. -.sp -.It [2addr]P -Write the pattern space, up to the first newline character to the -standard output. -.sp -.It [1addr]q -Branch to the end of the script and quit without starting a new cycle. -.sp -.It [1addr]r file -Copy the contents of -.Em file -to the standard output immediately before the next attempt to read a -line of input. -If -.Em file -cannot be read for any reason, it is silently ignored and no error -condition is set. -.sp -.It [2addr]s/regular expression/replacement/flags -Substitute the replacement string for the first instance of the regular -expression in the pattern space. -Any character other than backslash or newline can be used instead of -a slash to delimit the RE and the replacement. -Within the RE and the replacement, the RE delimiter itself can be used as -a literal character if it is preceded by a backslash. -.Pp -An ampersand -.Po -.Dq \*[Am] -.Pc -appearing in the replacement is replaced by the string matching the RE. -The special meaning of -.Dq \*[Am] -in this context can be suppressed by preceding it by a backslash. -The string -.Dq \e# , -where -.Dq # -is a digit, is replaced by the text matched -by the corresponding backreference expression (see -.Xr re_format 7 ) . -.Pp -A line can be split by substituting a newline character into it. -To specify a newline character in the replacement string, precede it with -a backslash. -.Pp -The value of -.Em flags -in the substitute function is zero or more of the following: -.Bl -tag -width "XXXXXX" -offset indent -.It "0 ... 9" -Make the substitution only for the N'th occurrence of the regular -expression in the pattern space. -.It g -Make the substitution for all non-overlapping matches of the -regular expression, not just the first one. -.It p -Write the pattern space to standard output if a replacement was made. -If the replacement string is identical to that which it replaces, it -is still considered to have been a replacement. -.It w Em file -Append the pattern space to -.Em file -if a replacement was made. -If the replacement string is identical to that which it replaces, it -is still considered to have been a replacement. -.El -.sp -.It [2addr]t [label] -Branch to the -.Dq \&: -function bearing the label if any substitutions have been made since the -most recent reading of an input line or execution of a -.Dq t -function. -If no label is specified, branch to the end of the script. -.sp -.It [2addr]w Em file -Append the pattern space to the -.Em file . -.sp -.It [2addr]x -Swap the contents of the pattern and hold spaces. -.sp -.It [2addr]y/string1/string2/ -Replace all occurrences of characters in -.Em string1 -in the pattern space with the corresponding characters from -.Em string2 . -Any character other than a backslash or newline can be used instead of -a slash to delimit the strings. -Within -.Em string1 -and -.Em string2 , -a backslash followed by any character other than a newline is that literal -character, and a backslash followed by an ``n'' is replaced by a newline -character. -.sp -.It [2addr]!function -.It [2addr]!function-list -Apply the function or function-list only to the lines that are -.Em not -selected by the address(es). -.sp -.It [0addr]:label -This function does nothing; it bears a label to which the -.Dq b -and -.Dq t -commands may branch. -.sp -.It [1addr]= -Write the line number to the standard output followed by a newline -character. -.sp -.It [0addr] -Empty lines are ignored. -.sp -.It [0addr]# -The -.Dq # -and the remainder of the line are ignored (treated as a comment), with -the single exception that if the first two characters in the file are -.Dq #n , -the default output is suppressed. -This is the same as specifying the -.Fl n -option on the command line. -.El -.Pp -The -.Nm -utility exits 0 on success and \*[Gt]0 if an error occurs. -.Sh SEE ALSO -.Xr awk 1 , -.Xr ed 1 , -.Xr grep 1 , -.Xr regex 3 , -.Xr re_format 7 -.Sh STANDARDS -The -.Nm -function is expected to be a superset of the -.St -p1003.2 -specification. -.Sh HISTORY -A -.Nm -command appeared in -.At v7 . diff --git a/textproc/nbsed/files/sed.1 b/textproc/nbsed/files/sed.1 new file mode 100644 index 00000000000..eb630bc018b --- /dev/null +++ b/textproc/nbsed/files/sed.1 @@ -0,0 +1,514 @@ +.\" $NetBSD: sed.1,v 1.1 2004/08/27 03:45:08 jlam Exp $ +.\" +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sed.1 8.2 (Berkeley) 12/30/93 +.\" +.Dd January 4, 2004 +.Dt SED 1 +.Os +.Sh NAME +.Nm sed +.Nd stream editor +.Sh SYNOPSIS +.Nm +.Op Fl aEn +.Ar command +.Op Ar file ... +.Nm +.Op Fl aEn +.Op Fl e Ar command +.Op Fl f Ar command_file +.Op Ar file ... +.Sh DESCRIPTION +The +.Nm +utility reads the specified files, or the standard input if no files +are specified, modifying the input as specified by a list of commands. +The input is then written to the standard output. +.Pp +A single command may be specified as the first argument to +.Nm . +Multiple commands may be specified by using the +.Fl e +or +.Fl f +options. +All commands are applied to the input in the order they are specified +regardless of their origin. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl a +The files listed as parameters for the +.Dq w +functions are created (or truncated) before any processing begins, +by default. +The +.Fl a +option causes +.Nm +to delay opening each file until a command containing the related +.Dq w +function is applied to a line of input. +.It Fl E +Enables the use of extended regular expressions instead of the +usual basic regular expression syntax. +.It Fl e Ar command +Append the editing commands specified by the +.Ar command +argument +to the list of commands. +.It Fl f Ar command_file +Append the editing commands found in the file +.Ar command_file +to the list of commands. +The editing commands should each be listed on a separate line. +.It Fl n +By default, each line of input is echoed to the standard output after +all of the commands have been applied to it. +The +.Fl n +option suppresses this behavior. +.El +.Pp +The form of a +.Nm +command is as follows: +.sp +.Dl [address[,address]]function[arguments] +.sp +Whitespace may be inserted before the first address and the function +portions of the command. +.Pp +Normally, +.Nm +cyclically copies a line of input, not including its terminating newline +character, into a +.Em "pattern space" , +(unless there is something left after a +.Dq D +function), +applies all of the commands with addresses that select that pattern space, +copies the pattern space to the standard output, appending a newline, and +deletes the pattern space. +.Pp +Some of the functions use a +.Em "hold space" +to save all or part of the pattern space for subsequent retrieval. +.Sh SED ADDRESSES +An address is not required, but if specified must be a number (that counts +input lines +cumulatively across input files), a dollar +.Po +.Dq $ +.Pc +character that addresses the last line of input, or a context address +(which consists of a regular expression preceded and followed by a +delimiter). +.Pp +A command line with no addresses selects every pattern space. +.Pp +A command line with one address selects all of the pattern spaces +that match the address. +.Pp +A command line with two addresses selects the inclusive range from +the first pattern space that matches the first address through the next +pattern space that matches the second. +(If the second address is a number less than or equal to the line number +first selected, only that line is selected.) +Starting at the first line following the selected range, +.Nm +starts looking again for the first address. +.Pp +Editing commands can be applied to non-selected pattern spaces by use +of the exclamation character +.Pq Dq \&! +function. +.Sh SED REGULAR EXPRESSIONS +The +.Nm +regular expressions are basic regular expressions (BRE's, see +.Xr re_format 7 +for more information). +In addition, +.Nm +has the following two additions to BRE's: +.sp +.Bl -enum -compact +.It +In a context address, any character other than a backslash +.Po +.Dq \e +.Pc +or newline character may be used to delimit the regular expression +by prefixing the first use of that delimiter with a backslash. +Also, putting a backslash character before the delimiting character +causes the character to be treated literally. +For example, in the context address \exabc\exdefx, the RE delimiter +is an +.Dq x +and the second +.Dq x +stands for itself, so that the regular expression is +.Dq abcxdef . +.sp +.It +The escape sequence \en matches a newline character embedded in the +pattern space. +You can't, however, use a literal newline character in an address or +in the substitute command. +.El +.Pp +One special feature of +.Nm +regular expressions is that they can default to the last regular +expression used. +If a regular expression is empty, i.e. just the delimiter characters +are specified, the last regular expression encountered is used instead. +The last regular expression is defined as the last regular expression +used as part of an address or substitute command, and at run-time, not +compile-time. +For example, the command +.Dq /abc/s//XXX/ +will substitute +.Dq XXX +for the pattern +.Dq abc . +.Sh SED FUNCTIONS +In the following list of commands, the maximum number of permissible +addresses for each command is indicated by [0addr], [1addr], or [2addr], +representing zero, one, or two addresses. +.Pp +The argument +.Em text +consists of one or more lines. +To embed a newline in the text, precede it with a backslash. +Other backslashes in text are deleted and the following character +taken literally. +.Pp +The +.Dq r +and +.Dq w +functions take an optional file parameter, which should be separated +from the function letter by white space. +Each file given as an argument to +.Nm +is created (or its contents truncated) before any input processing begins. +.Pp +The +.Dq b , +.Dq r , +.Dq s , +.Dq t , +.Dq w , +.Dq y , +.Dq \&! , +and +.Dq \&: +functions all accept additional arguments. +The following synopses indicate which arguments have to be separated from +the function letters by white space characters. +.Pp +Two of the functions take a function-list. +This is a list of +.Nm +functions separated by newlines, as follows: +.Bd -literal -offset indent +{ function + function + ... + function +} +.Ed +.Pp +The +.Dq { +can be preceded by white space and can be followed by white space. +The function can be preceded by white space. +The terminating +.Dq } +must be preceded by a newline or optional white space. +.sp +.Bl -tag -width "XXXXXX" -compact +.It [2addr] function-list +Execute function-list only when the pattern space is selected. +.sp +.It [1addr]a\e +.It text +.br +Write +.Em text +to standard output immediately before each attempt to read a line of input, +whether by executing the +.Dq N +function or by beginning a new cycle. +.sp +.It [2addr]b[label] +Branch to the +.Dq \&: +function with the specified label. +If the label is not specified, branch to the end of the script. +.sp +.It [2addr]c\e +.It text +.br +Delete the pattern space. +With 0 or 1 address or at the end of a 2-address range, +.Em text +is written to the standard output. +.sp +.It [2addr]d +Delete the pattern space and start the next cycle. +.sp +.It [2addr]D +Delete the initial segment of the pattern space through the first +newline character and start the next cycle. +.sp +.It [2addr]g +Replace the contents of the pattern space with the contents of the +hold space. +.sp +.It [2addr]G +Append a newline character followed by the contents of the hold space +to the pattern space. +.sp +.It [2addr]h +Replace the contents of the hold space with the contents of the +pattern space. +.sp +.It [2addr]H +Append a newline character followed by the contents of the pattern space +to the hold space. +.sp +.It [1addr]i\e +.It text +.br +Write +.Em text +to the standard output. +.sp +.It [2addr]l +(The letter ell.) +Write the pattern space to the standard output in a visually unambiguous +form. +This form is as follows: +.sp +.Bl -tag -width "carriage-returnXX" -offset indent -compact +.It backslash +\e\e +.It alert +\ea +.It form-feed +\ef +.It newline +\en +.It carriage-return +\er +.It tab +\et +.It vertical tab +\ev +.El +.Pp +Nonprintable characters are written as three-digit octal numbers (with a +preceding backslash) for each byte in the character (most significant byte +first). +Long lines are folded, with the point of folding indicated by displaying +a backslash followed by a newline. +The end of each line is marked with a +.Dq $ . +.sp +.It [2addr]n +Write the pattern space to the standard output if the default output has +not been suppressed, and replace the pattern space with the next line of +input. (Does not begin a new cycle.) +.sp +.It [2addr]N +Append the next line of input to the pattern space, using an embedded +newline character to separate the appended material from the original +contents. +Note that the current line number changes. +.sp +.It [2addr]p +Write the pattern space to standard output. +.sp +.It [2addr]P +Write the pattern space, up to the first newline character to the +standard output. +.sp +.It [1addr]q +Branch to the end of the script and quit without starting a new cycle. +.sp +.It [1addr]r file +Copy the contents of +.Em file +to the standard output immediately before the next attempt to read a +line of input. +If +.Em file +cannot be read for any reason, it is silently ignored and no error +condition is set. +.sp +.It [2addr]s/regular expression/replacement/flags +Substitute the replacement string for the first instance of the regular +expression in the pattern space. +Any character other than backslash or newline can be used instead of +a slash to delimit the RE and the replacement. +Within the RE and the replacement, the RE delimiter itself can be used as +a literal character if it is preceded by a backslash. +.Pp +An ampersand +.Po +.Dq \*[Am] +.Pc +appearing in the replacement is replaced by the string matching the RE. +The special meaning of +.Dq \*[Am] +in this context can be suppressed by preceding it by a backslash. +The string +.Dq \e# , +where +.Dq # +is a digit, is replaced by the text matched +by the corresponding backreference expression (see +.Xr re_format 7 ) . +.Pp +A line can be split by substituting a newline character into it. +To specify a newline character in the replacement string, precede it with +a backslash. +.Pp +The value of +.Em flags +in the substitute function is zero or more of the following: +.Bl -tag -width "XXXXXX" -offset indent +.It "0 ... 9" +Make the substitution only for the N'th occurrence of the regular +expression in the pattern space. +.It g +Make the substitution for all non-overlapping matches of the +regular expression, not just the first one. +.It p +Write the pattern space to standard output if a replacement was made. +If the replacement string is identical to that which it replaces, it +is still considered to have been a replacement. +.It w Em file +Append the pattern space to +.Em file +if a replacement was made. +If the replacement string is identical to that which it replaces, it +is still considered to have been a replacement. +.El +.sp +.It [2addr]t [label] +Branch to the +.Dq \&: +function bearing the label if any substitutions have been made since the +most recent reading of an input line or execution of a +.Dq t +function. +If no label is specified, branch to the end of the script. +.sp +.It [2addr]w Em file +Append the pattern space to the +.Em file . +.sp +.It [2addr]x +Swap the contents of the pattern and hold spaces. +.sp +.It [2addr]y/string1/string2/ +Replace all occurrences of characters in +.Em string1 +in the pattern space with the corresponding characters from +.Em string2 . +Any character other than a backslash or newline can be used instead of +a slash to delimit the strings. +Within +.Em string1 +and +.Em string2 , +a backslash followed by any character other than a newline is that literal +character, and a backslash followed by an ``n'' is replaced by a newline +character. +.sp +.It [2addr]!function +.It [2addr]!function-list +Apply the function or function-list only to the lines that are +.Em not +selected by the address(es). +.sp +.It [0addr]:label +This function does nothing; it bears a label to which the +.Dq b +and +.Dq t +commands may branch. +.sp +.It [1addr]= +Write the line number to the standard output followed by a newline +character. +.sp +.It [0addr] +Empty lines are ignored. +.sp +.It [0addr]# +The +.Dq # +and the remainder of the line are ignored (treated as a comment), with +the single exception that if the first two characters in the file are +.Dq #n , +the default output is suppressed. +This is the same as specifying the +.Fl n +option on the command line. +.El +.Pp +The +.Nm +utility exits 0 on success and \*[Gt]0 if an error occurs. +.Sh SEE ALSO +.Xr awk 1 , +.Xr ed 1 , +.Xr grep 1 , +.Xr regex 3 , +.Xr re_format 7 +.Sh STANDARDS +The +.Nm +function is expected to be a superset of the +.St -p1003.2 +specification. +.Sh HISTORY +A +.Nm +command appeared in +.At v7 . diff --git a/textproc/nbsed/files/sed.cat1 b/textproc/nbsed/files/sed.cat1 new file mode 100644 index 00000000000..ed63cf6b668 --- /dev/null +++ b/textproc/nbsed/files/sed.cat1 @@ -0,0 +1,326 @@ +SED(1) NetBSD Reference Manual SED(1) + +NNAAMMEE + sseedd - stream editor + +SSYYNNOOPPSSIISS + sseedd [--aaEEnn] _c_o_m_m_a_n_d [_f_i_l_e _._._.] + sseedd [--aaEEnn] [--ee _c_o_m_m_a_n_d] [--ff _c_o_m_m_a_n_d___f_i_l_e] [_f_i_l_e _._._.] + +DDEESSCCRRIIPPTTIIOONN + The sseedd utility reads the specified files, or the standard input if no + files are specified, modifying the input as specified by a list of com- + mands. The input is then written to the standard output. + + A single command may be specified as the first argument to sseedd. Multiple + commands may be specified by using the --ee or --ff options. All commands + are applied to the input in the order they are specified regardless of + their origin. + + The following options are available: + + --aa The files listed as parameters for the ``w'' functions are creat- + ed (or truncated) before any processing begins, by default. The + --aa option causes sseedd to delay opening each file until a command + containing the related ``w'' function is applied to a line of in- + put. + + --EE Enables the use of extended regular expressions instead of the + usual basic regular expression syntax. + + --ee _c_o_m_m_a_n_d + Append the editing commands specified by the _c_o_m_m_a_n_d argument to + the list of commands. + + --ff _c_o_m_m_a_n_d___f_i_l_e + Append the editing commands found in the file _c_o_m_m_a_n_d___f_i_l_e to the + list of commands. The editing commands should each be listed on + a separate line. + + --nn By default, each line of input is echoed to the standard output + after all of the commands have been applied to it. The --nn option + suppresses this behavior. + + The form of a sseedd command is as follows: + + [address[,address]]function[arguments] + + Whitespace may be inserted before the first address and the function por- + tions of the command. + + Normally, sseedd cyclically copies a line of input, not including its termi- + nating newline character, into a _p_a_t_t_e_r_n _s_p_a_c_e, (unless there is some- + thing left after a ``D'' function), applies all of the commands with ad- + dresses that select that pattern space, copies the pattern space to the + standard output, appending a newline, and deletes the pattern space. + + Some of the functions use a _h_o_l_d _s_p_a_c_e to save all or part of the pattern + space for subsequent retrieval. + +SSEEDD AADDDDRREESSSSEESS + An address is not required, but if specified must be a number (that + counts input lines cumulatively across input files), a dollar (``$'') + character that addresses the last line of input, or a context address + (which consists of a regular expression preceded and followed by a delim- + iter). + + A command line with no addresses selects every pattern space. + + A command line with one address selects all of the pattern spaces that + match the address. + + A command line with two addresses selects the inclusive range from the + first pattern space that matches the first address through the next pat- + tern space that matches the second. (If the second address is a number + less than or equal to the line number first selected, only that line is + selected.) Starting at the first line following the selected range, sseedd + starts looking again for the first address. + + Editing commands can be applied to non-selected pattern spaces by use of + the exclamation character (``!'') function. + +SSEEDD RREEGGUULLAARR EEXXPPRREESSSSIIOONNSS + The sseedd regular expressions are basic regular expressions (BRE's, see + re_format(7) for more information). In addition, sseedd has the following + two additions to BRE's: + + 1. In a context address, any character other than a backslash (``\'') + or newline character may be used to delimit the regular expression + by prefixing the first use of that delimiter with a backslash. Al- + so, putting a backslash character before the delimiting character + causes the character to be treated literally. For example, in the + context address \xabc\xdefx, the RE delimiter is an ``x'' and the + second ``x'' stands for itself, so that the regular expression is + ``abcxdef''. + + 2. The escape sequence \n matches a newline character embedded in the + pattern space. You can't, however, use a literal newline character + in an address or in the substitute command. + + One special feature of sseedd regular expressions is that they can default + to the last regular expression used. If a regular expression is empty, + i.e. just the delimiter characters are specified, the last regular ex- + pression encountered is used instead. The last regular expression is de- + fined as the last regular expression used as part of an address or sub- + stitute command, and at run-time, not compile-time. For example, the + command ``/abc/s//XXX/'' will substitute ``XXX'' for the pattern ``abc''. + +SSEEDD FFUUNNCCTTIIOONNSS + In the following list of commands, the maximum number of permissible ad- + dresses for each command is indicated by [0addr], [1addr], or [2addr], + representing zero, one, or two addresses. + + The argument _t_e_x_t consists of one or more lines. To embed a newline in + the text, precede it with a backslash. Other backslashes in text are + deleted and the following character taken literally. + + The ``r'' and ``w'' functions take an optional file parameter, which + should be separated from the function letter by white space. Each file + given as an argument to sseedd is created (or its contents truncated) before + any input processing begins. + + The ``b'', ``r'', ``s'', ``t'', ``w'', ``y'', ``!'', and ``:'' functions + all accept additional arguments. The following synopses indicate which + arguments have to be separated from the function letters by white space + characters. + + Two of the functions take a function-list. This is a list of sseedd func- + tions separated by newlines, as follows: + + { function + function + ... + function + } + + The ``{'' can be preceded by white space and can be followed by white + space. The function can be preceded by white space. The terminating + ``}'' must be preceded by a newline or optional white space. + + [2addr] function-list + Execute function-list only when the pattern space is selected. + + [1addr]a\ + text + Write _t_e_x_t to standard output immediately before each attempt to + read a line of input, whether by executing the ``N'' function or + by beginning a new cycle. + + [2addr]b[label] + Branch to the ``:'' function with the specified label. If the + label is not specified, branch to the end of the script. + + [2addr]c\ + text + Delete the pattern space. With 0 or 1 address or at the end of a + 2-address range, _t_e_x_t is written to the standard output. + + [2addr]d + Delete the pattern space and start the next cycle. + + [2addr]D + Delete the initial segment of the pattern space through the first + newline character and start the next cycle. + + [2addr]g + Replace the contents of the pattern space with the contents of + the hold space. + + [2addr]G + Append a newline character followed by the contents of the hold + space to the pattern space. + + [2addr]h + Replace the contents of the hold space with the contents of the + pattern space. + + [2addr]H + Append a newline character followed by the contents of the pat- + tern space to the hold space. + + [1addr]i\ + text + Write _t_e_x_t to the standard output. + + [2addr]l + (The letter ell.) Write the pattern space to the standard output + in a visually unambiguous form. This form is as follows: + + backslash \\ + alert \a + form-feed \f + newline \n + carriage-return \r + tab \t + vertical tab \v + + Nonprintable characters are written as three-digit octal numbers + (with a preceding backslash) for each byte in the character (most + significant byte first). Long lines are folded, with the point + of folding indicated by displaying a backslash followed by a new- + line. The end of each line is marked with a ``$''. + + [2addr]n + Write the pattern space to the standard output if the default + output has not been suppressed, and replace the pattern space + with the next line of input. (Does not begin a new cycle.) + + [2addr]N + Append the next line of input to the pattern space, using an em- + bedded newline character to separate the appended material from + the original contents. Note that the current line number + changes. + + [2addr]p + Write the pattern space to standard output. + + [2addr]P + Write the pattern space, up to the first newline character to the + standard output. + + [1addr]q + Branch to the end of the script and quit without starting a new + cycle. + + [1addr]r file + Copy the contents of _f_i_l_e to the standard output immediately be- + fore the next attempt to read a line of input. If _f_i_l_e cannot be + read for any reason, it is silently ignored and no error condi- + tion is set. + + [2addr]s/regular expression/replacement/flags + Substitute the replacement string for the first instance of the + regular expression in the pattern space. Any character other + than backslash or newline can be used instead of a slash to de- + limit the RE and the replacement. Within the RE and the replace- + ment, the RE delimiter itself can be used as a literal character + if it is preceded by a backslash. + + An ampersand (``&'') appearing in the replacement is replaced by + the string matching the RE. The special meaning of ``&'' in this + context can be suppressed by preceding it by a backslash. The + string ``\#'', where ``#'' is a digit, is replaced by the text + matched by the corresponding backreference expression (see + re_format(7)). + + A line can be split by substituting a newline character into it. + To specify a newline character in the replacement string, precede + it with a backslash. + + The value of _f_l_a_g_s in the substitute function is zero or more of + the following: + + 0 ... 9 + Make the substitution only for the N'th occurrence + of the regular expression in the pattern space. + + g Make the substitution for all non-overlapping + matches of the regular expression, not just the + first one. + + p Write the pattern space to standard output if a re- + placement was made. If the replacement string is + identical to that which it replaces, it is still + considered to have been a replacement. + + w _f_i_l_e Append the pattern space to _f_i_l_e if a replacement + was made. If the replacement string is identical + to that which it replaces, it is still considered + to have been a replacement. + + [2addr]t [label] + Branch to the ``:'' function bearing the label if any substitu- + tions have been made since the most recent reading of an input + line or execution of a ``t'' function. If no label is specified, + branch to the end of the script. + + [2addr]w _f_i_l_e + Append the pattern space to the _f_i_l_e. + + [2addr]x + Swap the contents of the pattern and hold spaces. + + [2addr]y/string1/string2/ + Replace all occurrences of characters in _s_t_r_i_n_g_1 in the pattern + space with the corresponding characters from _s_t_r_i_n_g_2. Any char- + acter other than a backslash or newline can be used instead of a + slash to delimit the strings. Within _s_t_r_i_n_g_1 and _s_t_r_i_n_g_2, a + backslash followed by any character other than a newline is that + literal character, and a backslash followed by an ``n'' is re- + placed by a newline character. + + [2addr]!function + [2addr]!function-list + Apply the function or function-list only to the lines that are + _n_o_t selected by the address(es). + + [0addr]:label + This function does nothing; it bears a label to which the ``b'' + and ``t'' commands may branch. + + [1addr]= + Write the line number to the standard output followed by a new- + line character. + + [0addr] + Empty lines are ignored. + + [0addr]# + The ``#'' and the remainder of the line are ignored (treated as a + comment), with the single exception that if the first two charac- + ters in the file are ``#n'', the default output is suppressed. + This is the same as specifying the --nn option on the command line. + + The sseedd utility exits 0 on success and >0 if an error occurs. + +SSEEEE AALLSSOO + awk(1), ed(1), grep(1), regex(3), re_format(7) + +SSTTAANNDDAARRDDSS + The sseedd function is expected to be a superset of the IEEE Std 1003.2 + (``POSIX.2'') specification. + +HHIISSTTOORRYY + A sseedd command appeared in Version 7 AT&T UNIX. + +NetBSD 1.6.2 January 4, 2004 5 diff --git a/textproc/nbsed/files/sed2nbcompat b/textproc/nbsed/files/sed2nbcompat index c98250a53cb..cfc8ec78126 100755 --- a/textproc/nbsed/files/sed2nbcompat +++ b/textproc/nbsed/files/sed2nbcompat @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: sed2nbcompat,v 1.1 2004/08/21 08:39:54 jlam Exp $ +# $NetBSD: sed2nbcompat,v 1.2 2004/08/27 03:45:08 jlam Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -37,7 +37,7 @@ # POSSIBILITY OF SUCH DAMAGE. # -if [ $# -lt 1 ]; then echo "pax2nbcompat dest"; exit 1; fi +if [ $# -lt 1 ]; then echo "sed2nbcompat dest"; exit 1; fi : ${PKGSRCDIR:=/usr/pkgsrc} : ${BSDSRCDIR:=/usr/src} @@ -52,12 +52,3 @@ dest=$1 $src2nbcompat ${BSDSRCDIR}/usr.bin/sed $dest cd $dest -echo "Removing $dest/sed.cat1." -rm -f sed.cat1 -if diff -I "\$NetBSD.*\$" -u nbsed.1 sed.1 >/dev/null 2>&1; then - echo "Removing $dest/sed.1." - rm -f sed.1 -else - echo "Replacing $dest/nbsed.1 with $dest/sed.1." - mv -f sed.1 nbsed.1 -fi -- cgit v1.2.3