假设我在中有一堆文件/tmp/
。
我做
find . -type f | xargs -iFILES
我想md5sum
在每个文件中做一个,输出到一个具有相同名称但带有.md5
扩展名的文件。
find . -type f | xargs -iFILES md5sum FILES > FILES.md5
应该为find命令找到的每个文件创建一个md5文件。而是在磁盘上创建单个FILES.md5文件,其中包含所有文件的校验和。
我如何对md5sum命令说FILES代表当前文件名而不是FILES文字字符串?
您需要某种方式说您要将输出发送md5sum
到文件。由于find
(或xargs
)没有内置此功能,而md5sum
只知道如何打印到标准输出,因此shell重定向是最直接的方法。
请注意,您的命令在一般情况下由于其他原因将无法正常工作:的输出格式find
不是的输入格式xargs
,它们的区别在于文件名包含空格或\"'
。使用find -exec
代替。
find . -type f -exec sh -c 'md5sum "$0" >"$0.md5"' {} \;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句