1

我必须用 shell 命令的输出构造一个 csv;csv 文件必须包含每一行的一些信息,这些信息是通过 stat 命令的输出获得的,最后一列是 md5sum(只有没有文件名的总和)

我尝试了一些命令,例如:

寻找 。-exec stat --printf='"%a";"%F"' {} \; -exec sh -c "md5sum $1 | cut -b-32" {} {} \;

但是这个块并要求我输入

和这个,

寻找 。-exec stat --printf='"%a";"%F";' {} \; -exec md5sum {} | 切-b-32 \;

但在这种情况下,管道不起作用。

我该如何解决?

4

1 回答 1

3

我认为你有{}并且;放错地方了。这个在 Linux 上对我来说很好用:

find . -exec stat --printf='"%a";"%F";' {} \; -exec sh -c "md5sum {} | cut -b-32" \;

更新 1

您也可以像这样将所有-exec选项组合在一起:

find . -exec sh -c "stat --printf='\"%a\";\"%F\";' {} && md5sum {} | cut -b-32" \;
于 2011-05-10T16:34:56.440 回答