2017-09-03 136 views
3

的第一线,而试图读取VIM的版本号,我得到我需要忽略了很多额外的线路,我想读的head手册和尝试以下命令:得到一个shell命令的输出

vim --version | head -n 1

我想知道这是否是正确的方法?

+2

它是如何失败?这个对我有用。 – choroba

+0

语法正确,错误是什么? –

+0

这对我很有用,但也许你正在使用版本信息写入stderr的vim版本。试试'vim --version 2>&1 | sed 1q' –

回答

6

是的,这是从命令获得第一行输出的一种方法。

如果命令输出什么标准错误,你想以同样的方式来捕捉,你需要在命令的标准错误重定向到标准输出流:

utility 2>&1 | head -n 1 

还有许多其他的也可以捕捉第一行,包括sed q(在第一行后退出)和sed -n 1p(仅打印第一行)。