如何使用file_name创建一个文件作为当前命令的输出?

时间:2017-08-12 18:49:27

标签: shell touch md5 xargs

问题

我有/home/user/Samples/文件夹中的文件,现在我有一个单独的文件夹/home/user/Reports/。假设我在Samples文件夹中有一个示例DOG.zip文件,现在我想生成此示例的报告并将其存储在Reports文件夹中,并将其命名为文件的MD5

我做了什么

cd /home/user/Samples/
md5sum DOG.zip | xargs touch ../Reports/{}

但是这会在Reports文件夹中生成{}文件,但不会生成md5作为文件名的空文件。

有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:1)

您需要将-i添加到xargs以“启用”{}占位符:

$ seq 10 | xargs echo foo{}
foo{} 1 2 3 4 5 6 7 8 9 10
$ seq 10 | xargs -i echo foo{}
foo1
foo2
foo3
foo4
foo5
foo6
foo7
foo8
foo9
foo10