[RndTbl] Little script puzzle help.
Sean Cody
sean at tinfoilhat.ca
Tue Jul 31 11:52:45 CDT 2012
On 2012-07-31 10:59, Adam Thompson wrote:
> Err... that does involve the use of temporary files, it's just hidden
> from
> you. I'm not aware of any way around that unless the replacement
> text
> happen to be exactly the same length (in bytes) as the original text,
> in
> which case you need to use dd(1) with skip= and/or seek= to avoid
> creating
> a temporary file. Even sed(1) and/or perl(1) with "-i" will create a
> temporary file behind the scenes, since there's no magic syscall (nor
> a
> physical way) to _slide_ the bits forwards or backwards on the disk!
>
A better way to state my case is 'no temporary files _I_ have to
explicitly manage.' I think I'll try a trace on ex and see if it uses a
temporary file. I don't see why it wouldn't (as reading in the entire
file into a buffer and dumping back to the original file seems kind of
dangerous). Academically interesting. I definitely trust the
implementation of sed/ed/ex/vi over my scripting abilities to properly
manage the temp files. :)
> If you're going for ultimate portability, I recommend you fall back
> to
> ed(1), since that can be used either as-is with ed(1) or with
> patch(1).
> The command-line invocation will be slightly uglier than than with
> ex(1),
> however.
>
Agreed.
The ex trick worked _very_ well.
Deployment went smoothly on all 30 odd hosts.
--
Sean
More information about the Roundtable
mailing list