1 io-redirection shell-script hashsum
我有一个在终端上输出 MD5 哈希和文件名的文件夹中运行的命令:
ls |sort -nr | xargs md5sum
Run Code Online (Sandbox Code Playgroud)
我需要一个文本文件中的输出,我可以下载该文件并将其与另一个客户机器上的另一个文件夹进行比较。如何修改命令,使其输出存储在 say 中的文件中/tmp
?我正在使用红帽 5。
解析ls
. 的主要工作ls
是列出文件的属性(大小、日期等)。shell 本身完全有能力用通配符列出目录的内容。
md5sum
在当前目录中的所有文件上运行并将输出放在一个文件中非常简单:将其输出重定向到所需的输出文件。
md5sum * >/tmp/md5sums.txt
Run Code Online (Sandbox Code Playgroud)
如果您希望输出按文件名排序,请将输出通过管道传输md5sum
到sort
.
md5sum * | sort -k 2 >/tmp/md5sums.txt
Run Code Online (Sandbox Code Playgroud)
请注意,数字排序 ( -n
) 只会在文件名纯数字时给出有用的结果。如果您所需要的只是输出是确定性的,那么您的排序方式并不重要。