如何创建一个文件 file_name 作为当前命令的输出?
How to create a file with file_name as the output of present command?
问题
我有一个文件存在于 /home/user/Samples/
文件夹中,现在我有一个单独的文件夹 /home/user/Reports/
。假设我在 Samples 文件夹中有一个示例 DOG.zip
文件,现在我想生成该示例的报告并将其存储在 Reports 文件夹中并将其命名为文件 MD5
我做了什么
cd /home/user/Samples/
md5sum DOG.zip | xargs touch ../Reports/{}
但这会在 Reports 文件夹中生成 {}
文件,而不是一个以 md5 作为文件名的空文件。
关于如何解决这个问题有什么建议吗?
您需要将 -i
添加到 xargs 到 "enable" {}
占位符:
$ 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
问题
我有一个文件存在于 /home/user/Samples/
文件夹中,现在我有一个单独的文件夹 /home/user/Reports/
。假设我在 Samples 文件夹中有一个示例 DOG.zip
文件,现在我想生成该示例的报告并将其存储在 Reports 文件夹中并将其命名为文件 MD5
我做了什么
cd /home/user/Samples/
md5sum DOG.zip | xargs touch ../Reports/{}
但这会在 Reports 文件夹中生成 {}
文件,而不是一个以 md5 作为文件名的空文件。
关于如何解决这个问题有什么建议吗?
您需要将 -i
添加到 xargs 到 "enable" {}
占位符:
$ 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