如何将数据输出到文件,同时抑制终端上的输出?
How to output data to file but also suppress output on the terminal?
我试图在 python 中执行系统命令,但我正在使用 > /dev/null 2>&1
隐藏所有输出。我试图只显示非常具体的输出,但我也试图将数据输出到文件 > grep.txt
以便我可以 grep 出特定数据。然而,当我在命令中使用 /dev/null 时,grep.txt 中什么也没有出现,它似乎会变成 /dev/null。
我试过以下方法:
#command > grep.txt > /dev/null 2>&1
#command > grep.txt | > /dev/null 2>&1
#command > grep.txt & > /dev/null 2>&1
#command > grep.txt & /dev/null 2>&1
但似乎没有任何效果。它是一个或另一个。我只想将结果保存到 grep.txt 文件,但同时隐藏终端上的输出。
我什至尝试过在使用 > /dev/null 时仅使用一个变量来存储命令的结果,但该变量始终为空!所以我只能假设它会 /dev/null.
请帮忙! xD
抱歉这个愚蠢的问题!
/dev/null
相当于什么都不写。它有一个文件接口,但不记录任何东西。如果要检索数据,请将其写入文件:
command > grep.txt 2>&1
现在 grep.txt
拥有您要查找的所有数据。不会有输出打印到终端。您从左到右阅读重定向:stdout
转到文件,stderr
转到 stdout
当前去的任何地方。 2>&1 grep.txt
将读取为 stderr
转到标准输出(终端),stdout
转到文件,因此您将看到错误输出但正常输出将转到文件。
我试图在 python 中执行系统命令,但我正在使用 > /dev/null 2>&1
隐藏所有输出。我试图只显示非常具体的输出,但我也试图将数据输出到文件 > grep.txt
以便我可以 grep 出特定数据。然而,当我在命令中使用 /dev/null 时,grep.txt 中什么也没有出现,它似乎会变成 /dev/null。
我试过以下方法:
#command > grep.txt > /dev/null 2>&1
#command > grep.txt | > /dev/null 2>&1
#command > grep.txt & > /dev/null 2>&1
#command > grep.txt & /dev/null 2>&1
但似乎没有任何效果。它是一个或另一个。我只想将结果保存到 grep.txt 文件,但同时隐藏终端上的输出。
我什至尝试过在使用 > /dev/null 时仅使用一个变量来存储命令的结果,但该变量始终为空!所以我只能假设它会 /dev/null.
请帮忙! xD
抱歉这个愚蠢的问题!
/dev/null
相当于什么都不写。它有一个文件接口,但不记录任何东西。如果要检索数据,请将其写入文件:
command > grep.txt 2>&1
现在 grep.txt
拥有您要查找的所有数据。不会有输出打印到终端。您从左到右阅读重定向:stdout
转到文件,stderr
转到 stdout
当前去的任何地方。 2>&1 grep.txt
将读取为 stderr
转到标准输出(终端),stdout
转到文件,因此您将看到错误输出但正常输出将转到文件。