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