我必须使用shell命令的输出构造一个csv; csv文件必须为每一行包含一些信息,这些信息由stat命令的输出得到,在最后一列中包含md5sum(只有没有文件名的总和)
我尝试了一些命令:
find . -exec stat --printf='"%a";"%F"' {} \; -exec sh -c "md5sum $1 | cut -b-32" {} {} \;
但是这个阻止并向我询问输入
这个,
find . -exec stat --printf='"%a";"%F";' {} \; -exec md5sum {} | cut -b-32 \;
但在这种情况下管道不起作用。
我该如何解决?
答案 0 :(得分:3)
我认为您{}
和;
放错地方了。这个在Linux上运行正常:
find . -exec stat --printf='"%a";"%F";' {} \; -exec sh -c "md5sum {} | cut -b-32" \;
您也可以将所有-exec
选项组合在一起,如下所示:
find . -exec sh -c "stat --printf='\"%a\";\"%F\";' {} && md5sum {} | cut -b-32" \;