[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-cppi] [PATCH] Add new option --in-place
From: |
Jim Meyering |
Subject: |
Re: [bug-cppi] [PATCH] Add new option --in-place |
Date: |
Sat, 03 Sep 2011 18:50:29 +0200 |
Jim Meyering wrote:
> Pádraig Brady wrote:
>> On 22/03/10 15:33, Eric Blake wrote:
>>> On 03/22/2010 06:41 AM, Pádraig Brady wrote:
>>>> So that probably means we need to go with a different name.
>>>> `inplace` is the next best one I can think of which
>>>> at least mirrors the well known sed --in-place and perl -i options.
>>>
>>> inplace sounds like a decent name to me. Sounds like an interesting
>>> filter to add.
>>
>> The name is not too bad, but it does annoy me a bit,
>> as commands are usually of the form
>> verb --how
>> for e.g.
>> sed --in-place
>>
>> But if we used `inplace` we'd change to:
>> how "what" file...
>>
>> By using `replace` we would be back to the more normal form:
>> replace "how" file...
>>
>> However `replace` is used by mysql-server as previously mentioned.
>> And `repl` is used by nmh. How about keeping with the terse unix
>> tradition while alluding to the relationship with cp/mv/rm by using...
>>
>> rp
>
> I wouldn't object.
>
> A possible bastardized compromise: re-place
> It's sort of analogous to in-place.
Picking up on an 18-month-old thread, Egan McComb found the
tool I'd seen: sponge:
Egan McComb wrote:
> On Sat, 20 Mar 2010 09:32:57 +0100, Jim Meyering wrote:
>> I'm nearly certain I've seen a program (possibly a small perl script)
>> that can effectively add the --in-place functionality to any filter
>> program, but so far my searches have been in vain.
>>
>> I want a tool that works like this:
>>
>> in-place [--backup] 'cppi ...options' *.c
>>
>> For each .c file, it would apply the filter program, and upon each
>> successful exit, it would update the .c file in place (atomically, of
>> course) with the output from the filter.
>>
>> Can anyone point to existing code that does that?
>>
>> Jim
>
> I know this is an old thread, but as far as I can tell the problem
> hasn't yet been resolved.
>
> The program that works similarly is called sponge, from the moreutils
> project at http://kitenet.net/~joey/code/moreutils/. It is used as a
> filter in a pipe:
>
> for FILE in *.c; do cppi ...options $FILE | sponge; done
>
> I'm not sure if it fulfills the other considerations laid out in the
> thread, but it is what I use when I need in-place editing of files.
Ahhh! That's it. Thank you!
for FILE in *.c; do cppi ...options $FILE | sponge $FILE; done
It's a fine argument for not adding an --in-place option.
It could use a --backup option, though.
- Re: [bug-cppi] [PATCH] Add new option --in-place,
Jim Meyering <=