ranger-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ranger-users] Bulk-anything command


From: Wojciech Siewierski
Subject: Re: [Ranger-users] Bulk-anything command
Date: Thu, 22 Jun 2017 15:51:37 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0


On 22.06.2017 15:42, John Z. wrote:
>>> Hi,
>>>     is there a way to execute a command on selected files, much like
>>>     bulkrename does?
>>>     Right now, the only solution that comes to me is faking it, somehow,
>>>     with sh and xargs.
>>>
>>>     Cheers.
>> Hi, 
>>
>> I typically do:
>>
>>   :shell for f in %s; do <mycommand> "$f"; done
>>
>> you could easily bind this to a key with:
>>
>>   :map X console -p22 shell for f in %%s; do  "$f"; done
>>
>> then, to run a command, you can type e.g. Xecho<ENTER>
>>
>> Regards,
>> hut
>
> Thanks for the tip, I ended doing something similar:
>
>     :shell echo %s | tr " " "\n" | xargs -L 1 <command>.
>
> I figure your way is less roundabout tho, but you know that thing when
> you're stubborn and just really want to make it work :-D
>
>
May I suggest a change to make it more secure and robust?

     :shell printf '%%s\0' %s | xargs -0 -L 1  <command>

It'll handle the spaces in filenames correctly. Technically it'll handle
even newlines in the filenames but you're unlikely to encounter such files.

Cheers
-- 
vifon

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]