Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 获取shell命令的第一行';s输出_Linux_Bash_Shell - Fatal编程技术网

Linux 获取shell命令的第一行';s输出

Linux 获取shell命令的第一行';s输出,linux,bash,shell,Linux,Bash,Shell,在尝试读取vim的版本号时,我得到了许多需要忽略的额外行。我试图阅读head的手册,并尝试了以下命令: vim --version | head -n 1 我想知道这是否是正确的方法?是的,这是从命令获取第一行输出的一种方法 如果命令输出任何您希望以相同方式捕获的标准错误,则需要将命令的标准错误重定向到标准输出流: utility 2>&1 | head -n 1 还有许多其他方法可以捕获第一行,包括sed1q(在第一行之后退出),sed-n1p(只打印第一行,但读取所有内容)

在尝试读取
vim
的版本号时,我得到了许多需要忽略的额外行。我试图阅读
head
的手册,并尝试了以下命令:

vim --version | head -n 1

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

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

如果命令输出任何您希望以相同方式捕获的标准错误,则需要将命令的标准错误重定向到标准输出流:

utility 2>&1 | head -n 1
还有许多其他方法可以捕获第一行,包括
sed1q
(在第一行之后退出),
sed-n1p
(只打印第一行,但读取所有内容),
awk'FNR==1'
(只打印第一行,但再次读取所有内容)等等。

我会使用:

awk 'FNR <= 1' file_*.txt
但使用
head
通配符打印文件名:

head -1 file_*.txt

==> file_1.csv <==
hello
...
==> file_n.csv <==
bye
head-1文件*.txt

==>文件\u 1.csv文件\u n.csv它是如何失败的?它对我有效。语法是正确的。错误是什么…?这对我有效,但可能您使用的是一个vim版本,它将版本信息写入stderr。尝试一下vim--Version2>&1|sed1q也适用于我--所以是的,你的方法是正确的
:)
检查你的包是否在@williampersell提供检查时在stderr上输出该信息。请参阅
head-qn1文件*.txt
head -1 file_*.txt

==> file_1.csv <==
hello
...
==> file_n.csv <==
bye