[Lubuntu] Sed substitution with partially duplicate results
wes
davidson at ling.ohio-state.edu
Wed Dec 19 20:57:58 UTC 2012
> It takes this line:
> DEVICE
> and replaces it with this:
> DEVICE Lubuntu1:3551 Lubuntu1:3551
if (1) the original line really is
DEVICE
and (2) you have only run the script once on a given file, then i'm stumped.
regarding (1), is it possible the original line reads
DEVICE Lubuntu1:3551
instead?
regarding (2), of all the calls to s/// in your script, it is notable that
> -e 's/DEVICE/DEVICE Lubuntu1:3551/' \
is the only one that will modify its own output, if the script is run again.
so if you run the script on a file twice, any line
DEVICE
will become first
DEVICE Lubuntu1:3551
and then
DEVICE Lubuntu1:3551 Lubuntu1:3551
-wes
On Wed, 19 Dec 2012, John Hupp wrote:
> I'm using a script with sed to modify a configuration file. The script:
>
> sed -i \
> -e 's/UPSCABLE usb/UPSCABLE ether/' \
> -e 's/UPSTYPE usb/UPSTYPE net/' \
> -e 's/DEVICE/DEVICE Lubuntu1:3551/' \
> -e 's/TIMEOUT 105/TIMEOUT 60/' \
> -e 's/NETSERVER on/NETSERVER off/' \
> -e 's/NISIP 0.0.0.0/NISIP 127.0.0.1/'
> /etc/apcupsd/apcupsd.conf
>
> It all works fine except for this substitution:
> -e 's/DEVICE/DEVICE Lubuntu1:3551/'
>
> It takes this line:
> DEVICE
> and replaces it with this:
> DEVICE Lubuntu1:3551 Lubuntu1:3551
>
> Does anyone know why?
>
More information about the Lubuntu-users
mailing list