Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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 “如何写作”;命令-i间隔“tail”;输出到文件_Linux_Bash_File_Tail_Sar - Fatal编程技术网

Linux “如何写作”;命令-i间隔“tail”;输出到文件

Linux “如何写作”;命令-i间隔“tail”;输出到文件,linux,bash,file,tail,sar,Linux,Bash,File,Tail,Sar,我正在使用以下命令: sar 1 | tail -n +3 它输出以下内容(每隔1秒,我会在几秒钟后中断它): 问题是当我尝试将此输出写入文件时。 我试过: sar 1 | tail -n +3 > file 但它会创建一个空文件。问题是生成“连续输出”的“sar”命令,但我不知道如何处理它 编辑:澄清我想做的事情:“我运行一个命令,如“top”(或“sar 1”等),它每X秒生成一个输出。每个生成的输出都包含一个我不想要的标题(几行)。因此我想运行“top”10秒,并将10个生成的输

我正在使用以下命令:

sar 1 | tail -n +3
它输出以下内容(每隔1秒,我会在几秒钟后中断它):

问题是当我尝试将此输出写入文件时。 我试过:

sar 1 | tail -n +3 > file
但它会创建一个空文件。问题是生成“连续输出”的“sar”命令,但我不知道如何处理它


编辑:澄清我想做的事情:“我运行一个命令,如“top”(或“sar 1”等),它每X秒生成一个输出。每个生成的输出都包含一个我不想要的标题(几行)。因此我想运行“top”10秒,并将10个生成的输出保存到一个文件中,而不包含标题。”
sar 1>>文件名

sar 1 | tee-a文件名


您可以使用
tee-a
命令将输出输出到控制台(
STDOUT
),同时将该输出附加到文件中


通过使用
>

而不是使用
tail
,可以在不覆盖文件的情况下附加到文件,您可以使用shell命令列表删除前几行:

sar 1 | { read; read; cat; } > file.txt

我不知道为什么
tail
不起作用;我认为您可能只是缺少了
-f
选项,但这似乎也不会产生任何输出。

tail正在等待sar完成,以便它可以确定最后3行是什么。因为输出永远不会结束,尾巴永远也做不到任何事情。谢谢,现在我明白了。。。但我不知道有什么办法可以替代我想做的事。你想做的还没有很好的定义。我运行一个命令,比如“top”(或“sar 1”等),它每X秒产生一个输出。每个生成的输出都包含我不想要的标题(几行)。因此,我想运行“top”10秒钟,并将生成的10个输出(不带标题)保存到一个文件中。
sar 1 | { read; read; cat; } > file.txt