我正在尝试为目录中的每个.fastq文件生成单独的.md5文件。我找到了为多个文件生成单个.md5文件的解决方案,但这不是我想要的。
我有file1.fastq
,file2.fastq
,file3.fastq
并希望产生file1.md5
,file2.md5
,file3.md5
。
我以为FOR循环可以解决问题,但我不是程序员,而且似乎找不到解决此问题的方法。
我还尝试了以下代码:
find . -type f -name "*.fastq.gz" -exec sh -c "md5sum < {} > {}.md5" \;
它为每个.fastq文件正确生成一个.md5文件,但是.md5文件的内容不正确,即我得到了 64399513b7d734ca90181b27a62134dc -
代替 64399513b7d734ca90181b27a62134dc testfile.fastq
有人可以帮忙吗?
最简单的情况是:
for file in *fastq; do md5sum "$file" > "$file".md5; done
但是,这会创建类似的文件名file1.fastq.md5
。扩展在这里基本上是无关紧要的,所以这不是问题,但是如果您愿意,file1.md5
可以这样做:
for file in *fastq; do md5sum "$file" > "${file//.fastq}".md5; done
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句