Saturday, October 26, 2013

Re: How to manipulate shell command output

On Sat, Oct 26, 2013 at 06:23:22PM -0500, Tim Chase wrote:
> On 2013-10-26 13:30, AlmostSurely wrote:
> > I've been trying to capture a portion of output from a shell
> > command. Suppose I need the first line of output from,
> >
> > :!g++ --version
> >
> > Is it possible for me to execute the above, storing only the first
> > line of output in a string variable?

> Depending on the context you want it, you can either read the output
> of the command into the current buffer with

> :r !g++ --version

> or you can put it in a variable to be manipulated:

> :let my_var=system('g++ --version')

> Note that this will give you the complete output, so you'd have to
> throw away the bits you don't want.

which would be easy enough to do with head, as

:let my_var = system('g++ --version | head -1')

--
_|_ _ __|_|_ ._ o|
|_(_)(_)|_| ||_)||<
|

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments: