为目录中的每个 .fastq 文件生成单独的 .md5 文件?

Chr*_*bio 2 md5sum checksums

我正在尝试为目录中的每个 .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" \;
Run Code Online (Sandbox Code Playgroud)

它为每个 .fastq 文件正确生成一个 .md5 文件,但 .md5 文件内容不正确,即我得到 64399513b7d734ca90181b27a62134dc -

代替 64399513b7d734ca90181b27a62134dc testfile.fastq

任何人都可以帮忙吗?

ter*_*don 5

最简单的情况是:

for file in *fastq; do md5sum "$file" > "$file".md5; done
Run Code Online (Sandbox Code Playgroud)

但是,这将创建文件名,如file1.fastq.md5. 扩展在这里基本上是无关紧要的,所以这不是问题,但如果你更喜欢file1.md5这样做:

for file in *fastq; do md5sum "$file" > "${file//.fastq}".md5; done
Run Code Online (Sandbox Code Playgroud)