如何抑制md5sum FAILED --check警告,但仍然获得输出?

时间:2018-10-24 01:40:38

标签: linux bash md5 checksum mint

如果我有一个名为file1的文件。然后为file1创建一个md5文件,然后更改file1的内容,因此md5不同。当我对其执行校验和时,我将得到

  

/home/student/.trashCan/file1:失败。

这就是我想要的,但是我也得到

  

md5sum:警告:1个计算出的校验和不匹配

我如何抑制此警告?这样我就可以从:

获得输出
  

/home/student/.trashCan/file1:失败

     

/home/student/.trashCan/file2:确定

     

md5sum:警告:1个计算出的校验和不匹配

     

$ student @ osboxes

对此:

  

/home/student/.trashCan/file1:失败

     

/home/student/.trashCan/file2:确定

     

$ student @ osboxes

如果我使用--status标志,它将禁止警告同时禁止输出。如果我使用grep / awk / cut,那么我得到了输出,但是我也得到了警告。

1 个答案:

答案 0 :(得分:1)

问题是md5sum的输出分为两个部分:

$ md5sum --check test.txt.md5 
test.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

第一行test.txt: FAILED发送到标准输出。但是,以md5sum开头的第二行被发送到标准 error 。因此,您可以通过以下方式发出命令来解决此问题:

$ md5sum --check test.txt.md5 2>/dev/null
test.txt: FAILED

之所以可行,是因为您要专门告诉它发送stderr/dev/nullstdout仍将正确显示。